<configuration> 所有.net配置文件所必須的根元素
<system.web> 實際asp.net配置設置的根元素
<!-- 動態(tài)調(diào)試編譯
設置 compilation debug="true" 以啟用 aspx 調(diào)試。否則,將此值設置為
false 將提高此應用程序的運行時性能。
設置 compilation debug="true" 以將調(diào)試符號(.pdb 信息)插入到編譯頁中。
因為這將創(chuàng)建執(zhí)行起來較慢的大文件,所以應該只在調(diào)試時將此值設置為 true,而在所有其他時候都設置為false。有關更多信息,請參考有關調(diào)試 asp.net 文件的文檔。
defaultlanguage="c#" 指定動態(tài)編譯時使用的默認編程語言,它的值可以是compilers標記定義的任何語言。
tempdirectory 指編譯過程中存儲文件的目錄
-->
<compilation
defaultlanguage="c#"
debug="true"
/>
<!-- 自定義錯誤信息
設置 customerrors mode="on" 或 "remoteonly" 以啟用自定義錯誤信息,或設置為 "off" 以禁用自定義錯誤信息。
為每個要處理的錯誤添加 <error> 標記。
"on" 始終顯示自定義(友好的)信息。如果沒有提供defaultredirect屬性‚則用戶將看到一般的錯誤信息.
"off" 始終顯示詳細的 asp.net 錯誤信息。顯示全部的錯誤細節(jié)
"remoteonly" 只對不在本地 web 服務器上運行的用戶顯示自定義(友好的)信息。出于安全目的,建議使用此設置,以便不向遠程客戶端顯示應用程序的詳細信息。
-->
<customerrors
mode="remoteonly"
/>
使用customerrors 元素,可以配置應用程序響應各種http錯誤時的行為。例如,通過如下代碼,當發(fā)生404錯誤時,就可以把頁面重新導向一個友好的頁面。
<customerrors defaultredirect=”standarderror.aspx” mode="remoteonly">
<error statuscode=”404” redirect=”filenotfound.htm”/>
</customerrors>
當發(fā)生http錯誤時,上面的代碼將把用戶導向standarderror.aspx頁面。如果錯誤是代碼404(即沒有發(fā)現(xiàn)文件)‚將把用戶導向filenotfound.htm。但是‚由于模式設置為remoteonly,所有本地的管理員將會看到真實的錯誤信息,而不是被導向其它的頁面,但遠程的客戶將會看到自定義的錯誤頁面。
<!-- 身份驗證
此節(jié)設置應用程序的身份驗證策略??赡艿哪J绞?"windows"、
"forms"、 "passport" 和 "none"
"none" 不執(zhí)行身份驗證。
"windows" iis 根據(jù)應用程序的設置執(zhí)行身份驗證 包含全部的iis身份驗證,此外,ntfs在文件和目錄上的權(quán)限將決定對目錄中資源的訪問。
(基本、簡要或集成 windows)。在 iis 中必須禁用匿名訪問。
"forms" 您為用戶提供一個輸入憑據(jù)的自定義窗體(web 頁),然后
在您的應用程序中驗證他們的身份。用戶憑據(jù)標記存儲在 cookie 中。
使用cookies去指出授權(quán)用戶。
"passport" 身份驗證是通過 microsoft 的集中身份驗證服務執(zhí)行的,
它為成員站點提供單獨登錄和核心配置文件服務。
-->
<authentication mode="windows" />
下面是使用passport的身份驗證的示例。在這個對目錄進行配置的示例中,如果用戶沒有提供有效的passport,則把用戶導向login.aspx頁面。
<authentication mode=”passport”>
<passport redirecturl=”login.aspx”/>
</authentication>
下面的示例闡明了怎樣使用基于窗體的身份驗證,以及怎樣把有效的用戶名和密碼保存在配置文件中:
<authentication mode=”forms”>
<forms name=”secureapplication”
loginurl=”/secureapplication/custlogin.aspx/”>
<credentials passwordformat=”clear”>
<user name=”admin” password=”admin”/>
</credentials>
</forms>
</authentication>
<!-- 授權(quán)
此節(jié)設置應用程序的授權(quán)策略。可以允許或拒絕不同的用戶或角色訪問
應用程序資源。通配符: "*" 表示任何人,"?" 表示匿名
(未經(jīng)身份驗證的)用戶。
-->
<authorization>
<allow users="*" /> <!-- 允許所有用戶 -->
<!-- <allow users="[逗號分隔的用戶列表]"
roles="[逗號分隔的角色列表]"/>
<deny users="[逗號分隔的用戶列表]"
roles="[逗號分隔的角色列表]"/>
-->
</authorization>
<!-- 應用程序級別跟蹤記錄
應用程序級別跟蹤為應用程序中的每一頁啟用跟蹤日志輸出。
設置 trace enabled="true" 可以啟用應用程序跟蹤記錄。如果 pageoutput="true",則
在每一頁的底部顯示跟蹤信息。否則,可以通過瀏覽 web 應用程序
根目錄中的 "trace.axd" 頁來查看
應用程序跟蹤日志。
-->
<trace
enabled="false"
requestlimit="10"
pageoutput="false"
tracemode="sortbytime"
localonly="true"
/>
默認狀態(tài)下,trace元素處于激活狀態(tài),但是它的輸出沒有顯示給web頁面。在trace元素中也可以定義偵聽器,偵聽器其實是一些對象,使用那些對象,可以收聽、收集和發(fā)送各種消息。下面代碼中定義的偵聽器可以把跟蹤信息寫到日志文件(即文本文件中):
<trace enabled="true" requestlimit=”10” pageoutput=”false”>
<listeners>
<add name=”tracelistener”
type=”system.diagnostics.textwritertracelistener‚system”
initializedata=”tracelistener.log”/>
</listeners>
</trace>
<!-- 會話狀態(tài)設置
默認情況下,asp.net 使用 cookie 來標識哪些請求屬于特定的會話。
如果 cookie 不可用,則可以通過將會話標識符添加到 url 來跟蹤會話。
若要禁用 cookie,請設置 sessionstate cookieless="true"。
-->
默認狀態(tài)下,asp.net通過發(fā)送用戶cookies(當用戶關閉他們的瀏覽器時,cookies將終止),對會話狀態(tài)進行維護。
<sessionstate
mode="inproc" 指asp.net會話狀態(tài)的維護工作是在本地進行的。
stateconnectionstring="tcpip=127.0.0.1:42424"
sqlconnectionstring="data source=127.0.0.1;trusted_connection=yes"
cookieless="false"
timeout="20"
/>
<!-- 全球化
此節(jié)設置應用程序的全球化設置。
-->
web站點的用戶經(jīng)常要發(fā)送和接收文本,這是文本編碼格式的配置,默認是rtf-8。
<globalization
requestencoding="gb2312"
responseencoding="gb2312"
/>
</system.web>
appsettings元素
<appsettings>元素處于<system.web>根配置之外,它是<configuration>部分的一個子元素。通過簡單的指定一對名稱/值,就可以添加配置設置。如:
<appsettings>
<add key="websitename" value="my new website"/>
<add key="welcomemessage" value="welcome to my new website‚friend!"/>
</appsettings>
</configuration>