gpt4 book ai didi

iis-7 - IIS7 GZIP 压缩 - http压缩部分

转载 作者:行者123 更新时间:2023-12-02 19:41:42 26 4
gpt4 key购买 nike

我尝试配置httpCompression在 IIS7 上。通过谷歌搜索,我发现它可以使用httpCompression来制作。配置中的部分。问题是我无法通过 web.config 使其工作。

当我在applicationHost.config中进行配置时一切都按需要进行,但我希望能够为每个应用程序而不是全局进行此配置。

我更改了 applicationHost.config 中的部分定义至<section name="httpCompression" overrideModeDefault="Allow" />并搬家httpCompression web.config 部分:

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/atom+xml" enabled="true" />
<add mimeType="application/xaml+xml" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
<add mimeType="application/json" enabled="true" />
<add mimeType="application/json; charset=utf-8" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
</httpCompression>

我错过了什么?看起来 IIS 根本不从 web.config 读取压缩配置。

每次更改后,我都会回收应用程序池,所以这不是问题。

最佳答案

根据此 ServerFault 答案:https://serverfault.com/a/125156/117212 - 您无法在 web.config 中更改 httpCompression,它需要在 applicationHost.config 文件中完成。以下是我在 Azure Web 角色中用于修改 applicationHost.config 文件并添加用于压缩的 mime 类型的代码:

using (var serverManager = new ServerManager())
{
var config = serverManager.GetApplicationHostConfiguration();
var httpCompressionSection = config.GetSection("system.webServer/httpCompression");
var dynamicTypesCollection = httpCompressionSection.GetCollection("dynamicTypes");

Action<string> fnCheckAndAddIfMissing = mimeType =>
{
if (dynamicTypesCollection.Any(x =>
{
var v = x.GetAttributeValue("mimeType");
if (v != null && v.ToString() == mimeType)
{
return true;
}

return false;
}) == false)
{
ConfigurationElement addElement = dynamicTypesCollection.CreateElement("add");
addElement["mimeType"] = mimeType;
addElement["enabled"] = true;
dynamicTypesCollection.AddAt(0, addElement);
}
};

fnCheckAndAddIfMissing("application/json");
fnCheckAndAddIfMissing("application/json; charset=utf-8");

serverManager.CommitChanges();
}

ServerManager 来自 NuGet 中的 Microsoft.Web.Administration 包。

关于iis-7 - IIS7 GZIP 压缩 - http压缩部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15473803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com