以编程方式启用动态压缩的最佳方法是什么



假设 Web 服务器使用 IIS7+ 并且安装了动态压缩,我希望能够为特定页面"打开"压缩。我想专门使用 IIS 中的内置功能(我知道您可以编写代码来查看 http 标头等)。

我知道您可以像这样为 web.config 中的特定脚本打开它:

<location path="Reports/Report.aspx">
    <system.webServer>
        <urlCompression doDynamicCompression="true" />
    </system.webServer>
</location>

假设我不想每次添加需要压缩的新页面(或文件夹)时都必须修改 web.config。谷歌搜索后,我发现了一些似乎有效的东西:

Request.ServerVariables["IIS_EnableDynamicCompression"] = "1";

因为它没有很好的记录,我担心这可能不是最好的方法?还有其他人成功地使用它吗?(到目前为止,我只在本地测试过)

如果您无法

找到打开内置压缩的方法,您可以自己处理HTTP协议的该部分。不是微不足道的,而是可行的。新的开源 ASP.NET 可能有它的实现。

也看看 HttpRequest.SetDynamicCompression .它设置此服务器变量,但方式稍微复杂一些。我建议你使用反射来调用此方法。

看起来这是要走的路:

Request.ServerVariables["IIS_EnableDynamicCompression"] = "1";

基于MS工程师提到的事实托马斯·马夸特的博客

相关内容

最新更新