Web.config詳解



<configuration> 所有.NET配置文件所必須的根元素



<system.web> 實際ASP.NET配置設置的根元素



<!-- 動態調試編譯

設置 compilation debug="true" 以啓用 ASPX 調試。否則,將此值設置爲

false 將提高此應用程序的運行時性能。

設置 compilation debug="true" 以將調試符號(.pdb 信息)插入到編譯頁中。

因爲這將創建執行起來較慢的大文件,所以應該只在調試時將此值設置爲 true,而在所有其他時候都設置爲false。有關更多信息,請參考有關調試 ASP.NET 文件的文檔。

defaultLanguage="c#" 指定動態編譯時使用的默認編程語言,它的值可以是compilers標記定義的任何語言。

tempDirectory 指編譯過程中存儲文件的目錄

-->

<compilation

defaultLanguage="c#"

debug="true"

/>



<!-- 自定義錯誤信息

設置 customErrors mode="On" 或 "RemoteOnly" 以啓用自定義錯誤信息,或設置爲 "Off" 以禁用自定義錯誤信息。

爲每個要處理的錯誤添加 <error> 標記。

"On" 始終顯示自定義(友好的)信息。如果沒有提供defaultRedirect屬性,則用戶將看到一般的錯誤信息.

"Off" 始終顯示詳細的 ASP.NET 錯誤信息。顯示全部的錯誤細節

"RemoteOnly" 只對不在本地 Web 服務器上運行的用戶顯示自定義(友好的)信息。出於安全目的,建議使用此設置,以便不向遠程客戶端顯示應用程序的詳細信息。

-->

<customErrors

mode="RemoteOnly"

/>

使用customErrors 元素,可以配置應用程序響應各種HTTP錯誤時的行爲。例如,通過如下代碼,當發生404錯誤時,就可以把頁面重新導向一個友好的頁面。

<customErrors defaultRedirect=”standarderror.aspx” mode="remoteonly">

<error statuscode=”404” redirect=”filenotfound.htm”/>

</customErrors>

當發生HTTP錯誤時,上面的代碼將把用戶導向standarderror.aspx頁面。如果錯誤是代碼404(即沒有發現文件),將把用戶導向filenotfound.htm。但是,由於模式設置爲remoteonly,所有本地的管理員將會看到真實的錯誤信息,而不是被導向其它的頁面,但遠程的客戶將會看到自定義的錯誤頁面。



<!-- 身份驗證

此節設置應用程序的身份驗證策略。可能的模式是 "Windows"、

"Forms"、 "Passport" 和 "None"



"None" 不執行身份驗證。

"Windows" IIS 根據應用程序的設置執行身份驗證 包含全部的IIS身份驗證,此外,NTFS在文件和目錄上的權限將決定對目錄中資源的訪問。

(基本、簡要或集成 Windows)。在 IIS 中必須禁用匿名訪問。

"Forms" 您爲用戶提供一個輸入憑據的自定義窗體(Web 頁),然後

在您的應用程序中驗證他們的身份。用戶憑據標記存儲在 Cookie 中。

使用cookies去指出授權用戶。

"Passport" 身份驗證是通過 Microsoft 的集中身份驗證服務執行的,

它爲成員站點提供單獨登錄和核心配置文件服務。

-->

<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>



<!-- 授權

此節設置應用程序的授權策略。可以允許或拒絕不同的用戶或角色訪問

應用程序資源。通配符: "*" 表示任何人,"?" 表示匿名

(未經身份驗證的)用戶。

-->



<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"

/>

默認狀態下,trace元素處於激活狀態,但是它的輸出沒有顯示給Web頁面。在trace元素中也可以定義偵聽器,偵聽器其實是一些對象,使用那些對象,可以收聽、收集和發送各種消息。下面代碼中定義的偵聽器可以把跟蹤信息寫到日誌文件(即文本文件中):

<trace enabled="true" requestLimit=”10” pageOutput=”false”>

<listeners>

<add name=”TraceListener”

type=”System.Diagnostics.TextWriterTraceListener,System”

initializeData=”TraceListener.log”/>

</listeners>

</trace>



<!-- 會話狀態設置

默認情況下,ASP.NET 使用 Cookie 來標識哪些請求屬於特定的會話。

如果 Cookie 不可用,則可以通過將會話標識符添加到 URL 來跟蹤會話。

若要禁用 Cookie,請設置 sessionState cookieless="true"。

-->

默認狀態下,ASP.NET通過發送用戶cookies(當用戶關閉他們的瀏覽器時,cookies將終止),對會話狀態進行維護。

<sessionState

mode="InProc" 指ASP.NET會話狀態的維護工作是在本地進行的。

stateConnectionString="tcpip=127.0.0.1:42424"

sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"

cookieless="false"

timeout="20"

/>



<!-- 全球化

此節設置應用程序的全球化設置。

-->

Web站點的用戶經常要發送和接收文本,這是文本編碼格式的配置,默認是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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章