首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WSHttpBinding和Https问题

WSHttpBinding和Https问题
EN

Stack Overflow用户
提问于 2011-08-12 04:00:45
回答 2查看 943关注 0票数 2

我想同时使用Sessions和SSL,所以我设置了所有证书,并确保在WCF服务上正确设置了所有内容。我已经尝试了所有的方法,但我似乎不能让它工作。它抛给我一个InvalidoperationException,告诉我WsHttpBinding不能创建安全会话,我应该使用MessageSecurity而不是TransportSecurity.But,我想使用Https而不是Http,所以我想使用TransportSecurity。谁能帮帮我。提前谢谢。

用于WsHttpBinding的App.config:

代码语言:javascript
复制
   <wsHttpBinding>
    <binding name="WSHttpBinding">
     <reliableSession enabled="True" />
     <security mode="Transport">
      <transport clientCredentialType="None"/>
     </security>
    </binding>
   </wsHttpBinding>

编辑:我忘了提到,当我试图调用ServiceHost.Open()时,会出现InvalidOperationException,所以日志记录不会有多大作用,但谢谢您提到它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-12 04:30:30

我没有试过,但是MSDN says

若要通过HTTPS使用可靠会话,必须创建使用可靠会话和HTTPS传输的自定义绑定。

尝试本文中描述的自定义绑定。

编辑:

我检查了Reflector为什么它不能与WsHttpBinding一起工作。初始化安全性时,WsHttpBinding包含以下代码:

代码语言:javascript
复制
if (isReliableSession && !this.IsSecureConversationEnabled())
{
    throw ...
}

这可能意味着WsHttpBinding允许在不安全的通道上或通过消息安全和安全对话保护的通道上使用可靠会话。

票数 3
EN

Stack Overflow用户

发布于 2011-08-12 04:11:41

我建议您启用WCF logging,并使用SvcTraceViewer查看生成的日志文件。这应该会为你提供更多关于正在发生的事情的细节,并通常有助于我追踪更困难的WCF问题。

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

https://stackoverflow.com/questions/7032062

复制
相关文章

相似问题

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