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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.