在 ASP.NET 應用程式中設定應用程式和目錄特定組態設定
本文說明如何在 ASP.NET 中設定應用程式特定和目錄特定的組態設定。
原始產品版本: ASP.NET
原始 KB 編號: 815174
摘要
Web.config檔案位於 ASP.NET 應用程式的根目錄中。 Web.config 檔會指定應用程式特定的組態資訊。 您也可以根據每個目錄來設定組態設定。 有兩種方式可以這麼做:
將多個 Web.config 檔案散發到應用程式中的目錄。 在 ASP.NET 應用程式目錄中新增 Web.config 檔案,其設定會覆寫較高層級 Web.config 檔案或系統計算機組態 (Machine.config) 檔案 中的設定。
將每個目錄或每個檔案設定直接新增至應用程式 Web.config 檔案。 這個方法會使用單一 Web.config 檔案來開啟每個目錄組態設定。 您也可以在 Machine.config 檔案中使用這個方法,在 ASP.NET Web 應用程式上強制設定組態,然後停止 Web.config 檔案覆寫 Machine.config 設定。
使用 Machine.config 檔案中的位置專案
若要指定套用至 Web 應用程式或目錄的設定,您可以將 專案新 <location>
增至 <configuration>
系統 Machine.config 檔的 元素。 當您在單一檔案中集中設定組態時,這會很有用。 在 Web 裝載環境中,在個別 Web 應用程式上強制執行特定組態設定也很有用。
專案 <location>
包含兩個屬性: path
和 allowOverride
。 屬性 path
會定義組態設定所涵蓋的月臺或虛擬目錄。 若要指定項目中的 <location>
設定套用至預設網站,請將 屬性設定 path
為 Default Web Site
。 若要指定設定套用至預設網站中名為 MyApp 的應用程式,請將 屬性設定 path
為 Default Web Site/MyApp
。
allowOverride
當 屬性為 false 時,Web 應用程式目錄中的 Web.config 檔案無法覆寫您在 元素中指定的<location>
設定。 在您必須限制應用程式開發人員如何設定 Web 應用程式的環境中,這是很有用的設定。 下列範例顯示 Machine.config 檔案的一部分。 檔案需要驗證才能存取默認網站上的 MyApp 應用程式,而且無法由 Web.config 檔案中的設定覆寫。
<configuration>
<location path="Default Web Site/MyApp" allowOverride="false">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
</configuration>
使用 Web.config 檔案中的位置專案
若要指定套用至特定應用程式或目錄的設定,請將 專案新 <location>
增至 <configuration>
應用程式 Web.config 檔的 元素。 元素 <location>
通常會包含專案 <system.web>
和其他組態專案,完全如同您在 Web.config 檔案中使用它們一樣。 項目的 path
屬性 <location>
會指定套用位置設定專案的虛擬目錄或檔名。 下列範例顯示應用程式 Web.config 檔的一部分,該檔案會指定論壇虛擬目錄的自定義錯誤訊息。
<configuration>
<location path="forum" >
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="forum-error.aspx">
<error statusCode="404" redirect="forum-file-not-found.aspx" />
</customErrors>
</system.web>
</location>
</configuration>
參考資料
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應