<?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=".\MyApp.exe"
stdoutLogEnabled="false"
stdoutLogFile=".\logs\stdout"
hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
屬性 InheritInChildApplications 設定為 false ,表示位於應用程式子目錄中的應用程式不會繼承元素內 <location> 指定的設定。
將應用程式部署至 Azure App Service 時,stdoutLogFile 路徑會設定為 \\?\%home%\LogFiles\stdout。 路徑會將 stdout 記錄儲存至 LogFiles 資料夾,這是服務自動建立的位置。
如需 IIS 子應用程式設定的相關資訊,請參閱 進階設定。
aspNetCore專案的屬性
disableStartUpErrorPage
選擇性的 Boolean 屬性。
如果為 true,則會隱藏 502.5 - 進程失敗 頁面,且 中設定的 web.config 502 狀態字碼頁優先。
false
forwardWindowsAuthToken
選擇性的 Boolean 屬性。
如果為 true,則會將權杖轉送至每個要求接聽 %ASPNETCORE_PORT% 為標頭 'MS-ASPNETCORE-WINAUTHTOKEN' 的子進程。 該處理序需負責依據要求呼叫此權杖上的 CloseHandle。
hostingModel
選擇性字串屬性。
將裝載模型指定為同進程 (InProcess/inprocess) 或跨進程 () 。 OutOfProcess/outofprocess
OutOfProcess/outofprocess 不存在時
processesPerApplication
選擇性的整數屬性。
指定可在每個應用程式啟動之 processPath 設定中指定的進程實例數目。
†針對進程內裝載,此值限制為 1 。
不建議使用 processesPerApplication 設定。 此屬性將在未來版本中移除。
預設: 1
最小值:1
最大值: 100 †
processPath
必要的字串屬性。
啟動接聽 HTTP 要求之處理序的可執行檔路徑。 支援相對路徑。 如果路徑的開頭為 .,該路徑即被視為網站根目錄的相對路徑。
rapidFailsPerMinute
選擇性的整數屬性。
指定中指定 processPath 進程允許每分鐘當機的次數。 如果超出此限制,模組就會在該分鐘的剩餘時間內停止啟動處理序。
不支援同處理序裝載。
預設: 10
最小值:0
最大值︰100
requestTimeout
選擇性的時間範圍屬性。
針對在 %ASPNETCORE_PORT% 進行接聽的處理序,指定 ASP.NET Core 模組等候回應的持續時間。
在 ASP.NET Core 2.1 或更新版本隨附的 ASP.NET Core 模組版本中,是以小時、分鐘及秒為單位來指定 requestTimeout。
不適用於同處理序裝載。 針對同處理序裝載,該模組會等待應用程式處理要求。
字串之分鐘和秒數的有效值介於 0-59。 60在分鐘或秒的值中使用 會導致500 - 內部伺服器錯誤。
預設: 00:02:00
最小值:00:00:00
最大值︰360:00:00
shutdownTimeLimit
選擇性的整數屬性。
在偵測到檔案時,模組等候可執行檔正常關機的 app_offline.htm 持續時間,以秒為單位。
預設: 10
最小值:0
最大值︰600
startupTimeLimit
選擇性的整數屬性。
針對可執行檔啟動在連接埠進行接聽的處理序,模組等候的持續時間 (以秒為單位)。 如果超出此時間限制,模組就會終止處理序。
裝載 進程時:進程 不會 重新開機, 而且不會 使用 rapidFailsPerMinute 設定。
裝載 跨進程時:模組會在收到新要求時嘗試重新開機進程,並繼續嘗試在後續連入要求上重新開機程式,除非應用程式無法在上一次輪流分鐘內啟動 rapidFailsPerMinute 次數。
0 (零) 值不會視為無限逾時。
預設: 120
最小值:0
最大值︰3600
stdoutLogEnabled
選擇性的 Boolean 屬性。
如果為 true, stdout 則會將 中 processPath 指定的進程重新導向至 中指定的 stdoutLogFilestderr 檔案。
false
stdoutLogFile
選擇性字串屬性。
指定要記錄中指定之進程的相對或絕對檔案路徑 stdoutstderr 。 processPath 相對路徑是相對於網站的根目錄。 所有開頭為 . 的路徑都是網站根目錄的相對路徑,而所有其他路徑則視為絕對路徑。 建立記錄檔後,模組會建立路徑中提供的所有資料夾。 使用底線分隔符號,會將時間戳記、進程識別碼和副檔名 (.log) 新增至路徑的最後一 stdoutLogFile 個區段。 如果 .\logs\stdout 提供為值,範例 stdout 記錄檔會在 2018 年 2 月 5 日儲存在 2018 年 2 月 5 日時儲存為 stdout_20180205194132_1934.loglogs 1934:41:32。
aspnetcore-stdout
設定環境變數
您可以在 processPath 屬性中為處理序指定環境變數。 請使用 <environmentVariables> 集合元素的 <environmentVariable> 子元素來指定環境變數。 本節中所設定環境變數的優先順序會高於系統環境變數。
下列範例會在 中設定兩個 web.config 環境變數。 ASPNETCORE_ENVIRONMENT 會將應用程式的環境設定為 Development。 開發人員可能會在檔案中 web.config 暫時設定此值,以強制 開發人員例外狀況頁面 在偵錯應用程式例外狀況時載入。 CONFIG_DIR 是一個使用者定義的環境變數範例,其中開發人員已撰寫程式碼,會在啟動時讀取值來構成用以載入應用程式設定檔的路徑。
<aspNetCore processPath="dotnet"
arguments=".\MyApp.dll"
stdoutLogEnabled="false"
stdoutLogFile=".\logs\stdout"
hostingModel="inprocess">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
<environmentVariable name="CONFIG_DIR" value="f:\application_config" />
</environmentVariables>
</aspNetCore>
直接在 中 web.config 設定環境的替代方法是將 屬性包含在 <EnvironmentName>發行設定檔 () .pubxml 或專案檔中。 此方法會在發佈專案時,在 中 web.config 設定環境:
<PropertyGroup>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
請只有在未受信任網路 (例如網際網路) 無法存取的暫存和測試伺服器上,才將 ASPNETCORE_ENVIRONMENT 環境變數設定為 Development。
使用 設定 IIS web.config
IIS 組態會受到 <system.webServer> 使用 ASP.NET Core 模組 ASP.NET Core應用程式運作之 IIS 案例的 區段 web.config 所影響。 舉例來說,IIS 設定對動態壓縮有作用。 如果 IIS 在伺服器層級設定為使用動態壓縮, <urlCompression> 則應用程式 web.config 檔案中的 元素可以針對 ASP.NET Core應用程式停用它。
如需詳細資訊,請參閱下列主題:
的組態參考 <system.webServer>
適用於 IIS 的 ASP.NET Core 模組 (ANCM)
與 ASP.NET Core 搭配運作的 IIS 模組
若要為在隔離的應用程式集區中執行的個別應用程式設定環境變數, (IIS 10.0 或更新版本) 支援,請參閱AppCmd.exe IIS 參考檔中環境變數 <environmentVariables>主題的命令一節。
的組態區段 web.config
ASP.NET Core應用程式不會使用 ASP.NET web.config 4.x 應用程式的組態區段來進行設定:
<system.web>
<appSettings>
<connectionStrings>
<location>
使用其他組態提供者設定的 ASP.NET Core 應用程式。 如需詳細資訊,請參閱組態。
如果您需要在發佈時轉換 web.config,請參閱轉換 web.config。您可能需要在發佈時轉換 web.config,以根據組態、設定檔或環境來設定環境變數。
IIS < system.webServer>
與 ASP.NET Core 搭配運作的 IIS 模組
轉換 web.config