[英]IIS Dynamic Compression and ASP.NET Core
我有一個部署到 IIS 的 ASP.NET Core v2.2 應用程序。 我遵循使用 IIS 動態壓縮而不是響應壓縮中間件的建議,如ASP.NET Core中的響應壓縮中所述。 我使用 IIS 管理工具在 IIS 中配置動態壓縮,它按預期工作。 但是,這會更新應用程序的 web.config 以包含 urlCompression 元素。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\xyz.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
</system.webServer>
</location>
<system.webServer>
<urlCompression doDynamicCompression="true" />
</system.webServer>
</configuration>
我的問題是,下次我發布應用程序時,動態壓縮設置會丟失,我必須返回 IIS 管理工具重新配置它。
如何確保在重新發布我的應用程序后保留此設置,而不必每次都進入 IIS 管理工具?
有沒有辦法在 Visual Studio 項目中包含此動態壓縮設置,以便將其包含在生成的 web.config 文件中?
您可以在項目的根目錄中創建一個“web.config”文件,發布后內容將與生成的“web.config”文件中的其他生成內容合並。
示例項目文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<urlCompression doDynamicCompression="true" />
</system.webServer>
</configuration>
發布位置的“web.config”文件內容:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<urlCompression doDynamicCompression="true" />
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\xxx.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</configuration>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.