电贺。我意识到这可能被视为一个重复的问题this,但我得到了一个不同的错误。
我的IIS设置为使用SSL。 我的服务设置相对简单。只是一个简单的登录服务。
当我尝试直接导航到主机上的svc文件时,我收到此错误
由于编译期间发生异常,无法激活服务。异常消息是:此服务的安全设置需要Windows身份验证,但未为承载此服务的IIS应用程序启用。
访问此特定服务时,我不想进行任何身份验证。我是否应该能够使用HTTPS绑定与传输消息信用和客户端身份验证设置为无?
我有一个符合SSL的证书设置,似乎没问题。现在就是这种身份验证的东西。
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="DefaultBehaviour">
<serviceMetadata httpsGetEnabled="true" />
<serviceCredentials>
<serviceCertificate findValue="xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx"
storeLocation="LocalMachine" storeName="My" x509FindType="FindByThumbprint" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<wsHttpBinding>
<binding name="wsBinding">
<security mode="Transport">
<message clientCredentialType="None" />
</security>
</binding>
</wsHttpBinding>
<mexHttpsBinding>
<binding name="mex" />
</mexHttpsBinding>
</bindings>
<services>
<service behaviorConfiguration="DefaultBehaviour" name="Web.Login.LoginService">
<endpoint name="wsBinding"
address="https://staging.system.com/System/LoginService/LoginService.svc"
binding="wsHttpBinding" bindingConfiguration="wsBinding"
contract="Web.Login.IOLELoginService" />
<endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration="mex" name="mex" contract="IMetadataExchange" />
</service>
</services>
答案 0 :(得分:3)
你应该能够拥有 - 只有你没有这样配置!
<security mode="Transport">
<message clientCredentialType="None" />
</security>
如果您有传输安全性,则需要在clientCredentialType
子元素上设置<transport>
!
试试这个:
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
这应该有希望工作(没有设置现在测试它)
马克