共用方式為


在 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 檔案中的 location 元素

若要指定套用至 Web 應用程式或目錄的設定,您可以將 專案新增 <location><configuration> system Machine.config 檔案的 元素。 當您將組態設定集中在單一檔案中時,會很有用。 在 Web 裝載環境中,在個別 Web 應用程式上授權特定組態設定也很有用。

元素 <location> 包含兩個屬性與 path allowOverride。 屬性 path 會定義組態設定涵蓋的月臺或虛擬目錄。 若要指定 元素中的 <location> 設定套用至預設網站,請將 屬性設定 pathDefault Web Site。 若要指定設定會套用至預設網站中名為 MyApp 的應用程式,請將 屬性設定 pathDefault 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 元素

若要指定套用至特定應用程式或目錄的設定,請將 專案新增 <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>

參考資料