程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET配置文件縱橫談(一)

ASP.NET配置文件縱橫談(一)

編輯:關於ASP.NET

前言:之所以寫這個系列的文章的緣由來自於Jeffery Zhao.之前看老趙的“MVC"講座的時候,記得老 趙曾經說過:一個真正的ASP.NET程序員應該對配置文件web.config要很熟練,而且對於配置文件的節點 的相關知識都要很了解,現有的很多的ASP.NET書籍都只是將控件怎麼使用等等,而且現有的一些參考文檔 都是只是講講配置節點怎麼使用,很少詳細的講述配置文件的(注:老趙的原話不是這樣的:)。所以這 裡我大膽的寫了本系列的文章,有欠妥當的地方還望大家見諒!

首先我們就來看看配置文件的繼承層次。都知道在ASP.NET中有很多的配置文件,如 machine.config,web.config,特別是web.config出現在很多的地方,出現在不同的地方作用也不一樣。 而且我們還知道machine.config中的配置對服務器上所有ASP.NET網站起作用,而web.config中的配置就 依據它所在的位置而定,如在一個網站根目錄中的web.config就對整個網站起作用,在一個網站中的某個 文件夾中的web.config就只對該文件夾起作用,而且網站跟目錄中的web.config中的配置也對這個文件夾 起作用。這就反映出了另外一個事實:配置文件是有繼承層次的. 換個角度,對於一個網站中的某個文件 夾,它不僅僅只是受本文件夾中web.config的配置約束,而且還收到本網站中根目錄下的web.config的約 束,而且還受到本台服務器上的machine.config的約束。

下面我們就來具體的看看ASP.NET中的配置文件的繼承層次:

1.machine.confiig-在ASP.NET中,很多的默認的配置都是定義在這個配置文件中的,但是有一些配 置已經從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.因為我們可以新建很多的虛擬目錄文件夾,文件夾中有網站程序,如果把配置文 件放在虛擬目錄中,那麼配置就對整個文件夾中的網站起作用。

4.一個網站中的web.config-這是我們最常見的配置地方。

5網站中的某個文件夾中的web.config-我們常常通過這個配置文件來限制對文件的訪問權限。

上次就是配置文件的層次關於,下一級的配置文件的作用是在它上面所有配置約束的總和。就是說: 一個網站中的文件夾的配置約束是machine.config+web.config+...+web,config(這個說法不是很恰當 ,希望大家明白意思就好)。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved