ASP.NET配置文件層次結(jié)構(gòu)和繼承淺析
您可以在整個應用程序目錄中分發(fā) ASP.NET 配置文件,以便以繼承層次結(jié)構(gòu)配置 ASP.NET 應用程序。使用此結(jié)構(gòu),可以在適當?shù)哪夸浖墑e實現(xiàn)應用程序所需級別的配置詳細信息,而不影響較高目錄級別中的配置設置。
ASP.NET配置文件配置結(jié)構(gòu)
ASP.NET 配置文件稱為 Web.config 文件,它們可以出現(xiàn)在 ASP.NET 應用程序的多個目錄中。ASP.NET 配置層次結(jié)構(gòu)具有下列特征:
使用應用于配置文件所在的目錄及其所有子目錄中的資源的配置文件。
允許您將配置數(shù)據(jù)放在將使它具有適當范圍(整臺計算機、所有的 Web 應用程序、單個應用程序或該應用程序中的子目錄)的位置。
允許重寫從配置層次結(jié)構(gòu)中的較高級別繼承的配置設置。還允許鎖定配置設置,以防止它們被較低級別的配置設置所重寫。
將配置設置的邏輯組組織成節(jié)的形式。
ASP.NET配置文件配置繼承
所有的 .NET Framework 應用程序都從一個名為 systemroot\Microsoft .NET\Framework\versionNumber\CONFIG\Machine.config 的文件繼承基本配置設置和默認值。Machine.config 文件用于服務器級的配置設置。其中的某些設置不能在位于層次結(jié)構(gòu)中較低級別的配置文件中被重寫。
.NET 客戶端應用程序(控制臺和 Windows 應用程序)使用名為 ApplicationName.config 的配置文件來重寫繼承的設置。ASP.NET 應用程序使用名為 Web.config 的配置文件來重寫繼承的設置。
ASP.NET 配置層次結(jié)構(gòu)的根是一個稱為根 Web.config 文件的文件,它與 Machine.config 文件位于同一個目錄中。根 Web.config 文件繼承 Machine.config 文件中的所有設置。根 Web.config 文件包括應用于所有運行某一具體版本的 .NET Framework 的 ASP.NET 應用程序的設置。由于每個 ASP.NET 應用程序都從根 Web.config 文件那里繼承默認配置設置,因此只需為重寫默認設置的設置創(chuàng)建 Web.config 文件。
ASP.NET配置文件集合元素中的繼承
某些配置元素是集合,例如,namespaces 元素和 customErrors 元素。
在集合中,通常通過 add 子元素向集合中添加配置設置,通過 remove 子元素按鍵名移除配置設置,或者可以通過 clear 子元素清除整個集合。除非允許使用重復項,否則,在子配置文件中添加的設置將重寫父配置文件中同一鍵名的設置。
ASP.NET配置文件注意事項
存在于早期版本的 .NET Framework 中的某些集合對 add 子元素使用不同的元素名稱。例如,customErrors 元素使用 error 子元素向集合中添加自定義錯誤。
如果收到針對 SubDir1 目錄中不存在的文件發(fā)出的請求,ASP.NET 將開始搜索配置層次結(jié)構(gòu),并從最本地的 Web.config 文件(如果存在,可能位于當前目錄中,也可能位于當前目錄的父目錄中)開始。ASP.NET 將搜索 statusCode 屬性等于“404”的 customErrors 的 error 元素(ASP.NET 設置架構(gòu))元素。一旦 ASP.NET 在配置設置中找到 404 錯誤,將 redirect 屬性中的 URL 作為響應返回。
ASP.NET配置文件層次結(jié)構(gòu)和繼承的相關信息就向你介紹到這里,希望對你了解ASP.NET配置文件層次結(jié)構(gòu)和繼承有所幫助。
【編輯推薦】

















