【问题标题】:How to enable GZip compression in a self-hosted RESTful WCF webservice?如何在自托管的 RESTful WCF Web 服务中启用 GZip 压缩?
【发布时间】:2011-11-28 19:48:25
【问题描述】:

我有一个使用 .NET 4.0 用 C# 编写的 RESTful WCF Web 服务,我希望使用 GZip 或 deflate 压缩响应。 (我可能也需要支持对请求的压缩,但这还不是必需的)。它将部署为 Windows 服务,即自托管 WCF 服务,因为 IIS 托管不是一个选项。

到目前为止,我的搜索还不够。大多数命中要么是在 IIS 中打开压缩,要么是为基于 SOAP 的服务编写自定义消息编码器,既不适合我的场景,也不适合我的场景。

如果您对如何执行此操作有任何指示,将不胜感激!

【问题讨论】:

    标签: wcf .net-4.0 compression wcf-rest


    【解决方案1】:

    如果您想在自托管场景中进行 GZip 压缩(在 4.5 上看起来支持二进制编码压缩,根据MSDN WCF Forums 的公告,但它不存在于 4.0 的开箱即用)。为什么自定义编码器不适用于您的场景?

    【讨论】:

    • 感谢您立即回复。我不确定自定义编码器不是要走的路,但是您链接到的示例是一个 SOAP 服务,我不太确定如何修改它以适用于 WCF RESTful 服务。我再看看。
    • 您可以创建 GZipMessageEncodingBindingElement 的实例,将现有的编码绑定元素传递给它 - 如果您传递 WebMessageEncodingBindingElement(不用于 SOAP),那么使用 GZip 的端点将不会使用 SOAP要么。
    猜你喜欢
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 2013-07-10
    • 2021-05-13
    • 2019-05-06
    • 2011-10-23
    • 2011-02-12
    • 2021-06-04
    相关资源
    最近更新 更多