有没有人曾尝试在WCF Web服务中使用SSL的自定义绑定?我已经看到了很多关于如何使用basicHttpBinding和wsHttpBinding来做到这一点的例子,但是对于customBinding而言,总是失败。具体是什么我目前正与(上最成功的配置还)工作看起来是这样的:具有自定义绑定的SSL WCFs
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true">
</serviceHostingEnvironment>
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="binaryHttps">
<binaryMessageEncoding />
<httpsTransport />
</binding>
</customBinding>
</bindings>
<services>
<service behaviorConfiguration="MyServiceBehavior" name="MyService">
<host>
<baseAddresses>
<add baseAddress="https://(myserver)/"/>
</baseAddresses>
</host>
<endpoint address=""
binding="customBinding" bindingConfiguration="binaryHttps"
contract="MyService" />
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
这实际上使我们能够从网络访问服务,得到它的WSDL,并添加在Visual Studio中的服务引用没错,但是当我们实际上尝试并使用它在我们的Silverlight-3应用程序中时,它就会无限期地等待响应并永不超时。实际上,在我的机器上有一段时间(内存为6GB)后,我给了我很少的内存问题。奇怪的是,所有这些在开发环境中(完全使用VS应用程序主机)都能很好地工作(并且仍然如此),直到我们试图将它部署到具有真正SSL证书的实际服务器上时,所有这些问题弹出。
我已经搜索了相当详尽的解决这个问题,但迄今没有发现任何东西,并尝试过几乎所有 - 有没有人在那里遇到过这个,并得到它呢?
嗯,我们在Silverlight 3库中的代码中进行绑定,而不是在ClientConfig文件中,但是,在本地计算机上一切正常。直到部署时才出现问题。 – user138420 2009-07-15 03:30:04