cro*_*arp 7 .net c# xml https wcf
我在我的本地计算机上进行了用户名/密码验证,使用自签名证书,一切正常,但是当我将我的应用程序放在IIS 7.5和Windows Server 2008 R2上时,它给了我错误:
无法找到一个基地址匹配具有绑定WSHttpBinding的端点的scheme http.注册的基地址方案是[https].
我的网络服务cfg:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceCredentialsBehavior">
<serviceCredentials>
<serviceCertificate findValue="cn=AmicCert" storeName="Root" storeLocation="LocalMachine" />
<userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="Util.CustomUserNameValidator, Util" />
</serviceCredentials>
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="ServiceCredentialsBehavior" name="Service">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="MessageAndUserName" name="SecuredByTransportEndpoint" contract="IService" />
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="MessageAndUserName">
<security mode="Message">
<message clientCredentialType="UserName" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client />
</system.serviceModel>
<system.web>
<compilation debug="true" />
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
Dre*_*rsh 13
听起来您托管的IIS网站实例仅配置为HTTPS(SSL).右键单击网站实例,然后选择"编辑绑定...".你看到那里列出了端口80(普通HTTP)吗?同时检查"SSL设置"功能,确保未启用"始终需要"选项.
Dar*_*bio 10
如果您不想为端点使用HTTPS/SSL,则Drew的答案是正确的.
如果您确实想在端点上使用SSL,则需要更改以下内容:
<security mode="Message">
Run Code Online (Sandbox Code Playgroud)
至:
<security mode="TransportWithMessageCredential">
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
32904 次 |
最近记录: |