首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有自定义绑定的SSL WCF

具有自定义绑定的SSL WCF
EN

Stack Overflow用户
提问于 2009-07-15 01:58:42
回答 2查看 2.9K关注 0票数 3

有没有人尝试过在WCF web服务中使用带有SSL的自定义绑定?我已经看到了许多关于如何使用basicHttpBinding和wsHttpBinding来实现这一点的示例,但是对于customBinding来说,同样的方法总是失败。具体来说,我目前使用的配置(迄今为止最成功的配置)如下所示:

代码语言:javascript
运行
复制
<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>

这实际上允许我们从web访问服务,获取它的WSDL并在visual studio中添加一个服务引用,但是当我们实际尝试并在我们的silverlight-3应用程序中使用它时,它只是无限期地等待响应,并且永远不会超时。在我的机器(内存为6 6GB )上运行一段时间后,它实际上会给我带来内存不足的问题。奇怪的是,所有这些都在开发环境(严格使用VS应用程序主机)中完美地工作(并且仍然有效),直到我们尝试使用真正的SSL证书将其部署到实际的服务器上时,所有这些问题才出现。

我已经相当详尽地寻找了这个问题的解决方案,但到目前为止还没有找到任何东西,并且尝试了几乎所有的方法--有没有人以前遇到过这个问题并解决了它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-15 20:43:47

所以问题根本不是出在我们的web.config上,而是IIS7和通配符SSL证书的问题。

也就是说,IIS7不允许您在将IP绑定到SSL连接和证书时指定主机名。我猜这是因为它需要一个非通配符SSL证书,以便从中提取显式主机名。我们最终要做的是进入{WindowsDir}{System32}{Inetsrv}{ applicationHost.config }中的配置文件,找到与我们的web服务绑定的IP地址的条目,并将其显式更改为(Ip):(主机名)。然后,它甚至可以在IIS配置GUI中正确显示。

这样做之后,我们将完全关闭所有服务器上的所有通道,但SSL通道除外,一切都运行得很好。

感谢上帝,一切都结束了!

票数 1
EN

Stack Overflow用户

发布于 2009-07-15 02:25:42

AFAIK,使用SSL有性能问题。我们使用WCF behiovr进行身份验证。我们使用的方式是Silverlight => ASP.NET => WCF。我们在Silverlight和WCF中配置了Endpoint behivor。每当我们调用服务时,我们都会传递用于身份验证的令牌。

您是说您可以在Silverlight的ClientConfig中使用自定义绑定吗?

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1129020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档