【问题标题】:increasing the performance of wshttpbinding?提高 wshttpbinding 的性能?
【发布时间】:2014-04-18 00:29:33
【问题描述】:

我最担心的是我的 WCF 的性能,我知道使用 wshttpbindingbasichttpbinding 慢得多,但它更安全,因为消息是加密的。

但是当我做speed performance 测试时,性能差异很大。

我的回复有时高达 1 mb。所以我的问题是,当我需要性能而不是 security 时,basichttpbinding 是要走的路吗?

无论如何我都在使用https,所以它也是安全连接,或者无论如何我可以通过使用wshttpbiding优化性能并达到basichttpbinding速度?

感谢您的回答

【问题讨论】:

标签: .net web-services wcf wshttpbinding basichttpbinding


【解决方案1】:

wsHttpBinding 实现 WS-Security 堆栈。此堆栈为您的消息增加了安全性,但性能较慢。

您可以将 TLS 通道与客户端和服务器证书一起使用。您将拥有与 WS-Security 相同级别的安全性(身份验证、授权、机密性和不可否认性)。

我一般使用customBindings,而不是basicHttpBinding 或wsHttpBinding。是更可配置的。您可以使用此工具将 bascHttpBinding 转换为自定义绑定:http://webservices20.cloudapp.net/

basicHttpBinding 类似于 customBinding,但具有预定义的值,例如消息版本的 SOAP11。

【讨论】:

  • 您能否使用自定义绑定获得良好的性能?我的意思是和基本的httpbinding一样好。你能给我一个custombindigs的好例子吗?感谢您的帮助。
【解决方案2】:

在设计 WCF 服务的过程中,您需要根据系统要求确定 wsHttpBinding 的安全优势是否超过性能成本。如果您的要求表明需要 SSL 之外的安全性,那么您需要实现 wsHttpBinding。另一方面,如果 SSL 足以满足您的安全需求,那么您可能需要选择 basicHttpBinding 以减少开销。

注意:如果您的 Web 服务流量通过中介(例如 WCF 路由服务)进行路由,那么您的 SSL 会话将被终止并重新建立,因此您的消息流量将对中间/代理系统“畅通无阻”。在这种情况下,您可以利用 wsHttpBinding (WS-Security) 来确保消息是端到端加密的。

补充资料:BasichttpBinding vs WSHttpBinding of WCF

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 2019-03-26
    • 2012-03-19
    • 1970-01-01
    • 2014-01-04
    • 2021-10-31
    • 1970-01-01
    相关资源
    最近更新 更多