我正在尝试让 IIS 接受压缩的 SOAP/XML 请求。
似乎 IIS 不支持开箱即用的压缩 HTTP 请求。任何带有Content-Encoding: gzip
或deflate
的 HTTP 请求都会返回 HTTP 错误 400。
所以我尝试按这个相关的问题中的描述添加DelegatingHandler
via Global.asax:
Global.asax:
protected void Application_Start()
{
GlobalConfiguration.Configuration.MessageHandlers.Add(new DecompressionHandler());
}
但是在ASMX的情况下,似乎没有 MessageHandler 被执行(我已经检查过,Application_Start
被调用,但是整个 WebApi 配置似乎在 ASMX 中没有效果)。
所以问题是 - 如何在ASMX服务中实现SOAP请求解压缩?
1 回答
能够让它与
SoapExtension
一起工作:然后使用以下内容注释每个
WebMethod
:并证明它有效: