我的基于http的网络服务工作正常,我被要求将其移至https(IIS上的证书和内容已经完成)。
但我完全坚持我需要做的事情。所有的网站似乎都向你展示了对web.config文件做了哪些更改,但是当我查看它时,它就像这些(例如没有服务元素),并且没有一个网站提到对客户端配置的更改制作并且它们都是5年前或更长时间。
当我检查调用webservice的客户端配置文件时,似乎有一半的配置条目应该在服务器上的新web.config中。
有人可以帮忙吗?
CLIENT配置文件。
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IMyService" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" useDefaultWebProxy="false" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://example.com/TestService/TestService.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IMyService" contract="Service.IMyService"
name="BasicHttpBinding_IMyService" />
</client>
</system.serviceModel>
</configuration>
SERVER WEB.CONFIG
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text">
<readerQuotas maxDepth="2000000" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
答案 0 :(得分:0)
我更改了您的设置,因此与我的设置类似。您应该使用特定于您的服务器的值:
我添加了
switchBoolean = !switchBoolean;
和
<security mode="Transport"></security>
这是指定证书所必需的,应使用传输安全模式。
<serviceMetadata httpsGetEnabled="true" httpGetEnabled="true"/>
<serviceCredentials>
<serviceCertificate findValue="<thumbprint>" storeLocation="LocalMachine"
storeName="My" x509FindType="FindByThumbprint" />
</serviceCredentials>
确保将值更改为证书的指纹。您还应确保证书位于正确的商店中。
这只是在我身边猜测。拿一粒盐,因为我没有用你的配置进行测试。