淺析ASP.NET中配置文件
一個真正的ASP.NET程序員應該對配置文件web.config要很熟練,而且對于配置文件的節(jié)點的相關知識都要很了解,現(xiàn)有的很多的ASP.NET書籍都只是將控件怎么使用等等,而且現(xiàn)有的一些參考文檔都是只是講講配置節(jié)點怎么使用,很少詳細的講述ASP.NET配置文件。
首先我們就來看看配置文件的繼承層次。都知道在ASP.NET中有很多的配置文件,如machine.config,web.config,特別是web.config出現(xiàn)在很多的地方,出現(xiàn)在不同的地方作用也不一樣。而且我們還知道m(xù)achine.config中的配置對服務器上所有ASP.NET網(wǎng)站起作用,而web.config中的配置就依據(jù)它所在的位置而定,如在一個網(wǎng)站根目錄中的web.config就對整個網(wǎng)站起作用,在一個網(wǎng)站中的某個文件夾中的web.config就只對該文件夾起作用,而且網(wǎng)站跟目錄中的web.config中的配置也對這個文件夾起作用。
這就反映出了另外一個事實:ASP.NET配置文件是有繼承層次的. 換個角度,對于一個網(wǎng)站中的某個文件夾,它不僅僅只是受本文件夾中web.config的配置約束,而且還收到本網(wǎng)站中根目錄下的web.config的約束,而且還受到本臺服務器上的machine.config的約束。
下面我們就來具體的看看ASP.NET配置文件的繼承層次:
1.machine.confiig-在ASP.NET中,很多的默認的配置都是定義在這個配置文件中的,但是有一些配置已經(jīng)從machine.config中移出到別的地方了,為了縮短ASP.NET的加載時間。我們知道在運行一個ASP.NET程序的時候,ASP.NET運行時是要加載很多的配置文件的,當然machine.config是一定要加載的,但是其中有些配置不是必須的,所以就移到別的地方,如果用到就加載。
2.在安裝根目錄中的web.config-在%windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG中的配置文件,之前說過machine.config把很多的配置移出了,就放在這個配置中。
3.在根目錄中的web.config-我們也可以把web.config放在根目錄中,讓它對整個根目錄起作用。如:c:\inetpub \wwwroot.因為我們可以新建很多的虛擬目錄文件夾,文件夾中有網(wǎng)站程序,如果把配置文件放在虛擬目錄中,那么配置就對整個文件夾中的網(wǎng)站起作用。
4.一個網(wǎng)站中的web.config-這是我們最常見的配置地方。
5網(wǎng)站中的某個文件夾中的web.config-我們常常通過這個配置文件來限制對文件的訪問權限。
上次就是配置文件的層次關于,下一級的配置文件的作用是在它上面所有配置約束的總和。就是說:一個網(wǎng)站中的文件夾的配置約束是machine.config+web.config+...+web,config。以上介紹ASP.NET配置文件
【編輯推薦】