簡體   English   中英

IIS 動態壓縮和 ASP.NET Core

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM