- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會(huì )理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務(wù)機構許可:滇D3-20230001
- 代理域名注冊服務(wù)機構:新網(wǎng)數碼
認識ASP.NET配置文件Web.config
一、認識Web.config文件
Web.config文件是一個(gè)XML文本文件,它用來(lái)儲存 ASP.NET Web 應用程序的配置信息(如最常用的設置ASP.NET Web 應用程序的身份驗證方式),它可以出現在應用程序的每一個(gè)目錄中。當您通過(guò)VB.NET新建一個(gè)Web應用程序后,默認情況下會(huì )在根目錄自動(dòng)創(chuàng )建一個(gè)默認的
Web.config文件,包括默認的配置設置,所有的子目錄都繼承它的配置設置。如果您想修改子目錄的配置設置,您可以在該子目錄下新建一個(gè)Web.config文件。它可以提供除從父目錄繼承的配置信息以外的配置信息,也可以重寫(xiě)或修改父目錄中定義的設置。
在運行時(shí)對Web.config文件的修改不需要重啟服務(wù)就可以生效(注:<processModel> 節例外)。當然Web.config文件是可以擴展的。您可以自定義新配置參數并編寫(xiě)配置節處理程序以對它們進(jìn)行處理。
二、web.config配置文件(默認的配置設置)以下所有的代碼都應該位于
<configuration>
<system.web>
和
</system.web>
</configuration>
之間,出于學(xué)習的目的下面的示例都省略了這段XML標記
1、<authentication> 節
作用:配置 ASP.NET 身份驗證支持(為Windows、Forms、PassPort、None四種)。該元素只能在計算機、站點(diǎn)或應用程序級別聲明。<authentication> 元素必需與<authorization> 節配合使用。
示例:
以下示例為基于窗體(Forms)的身份驗證配置站點(diǎn),當沒(méi)有登陸的用戶(hù)訪(fǎng)問(wèn)需要身份驗證的網(wǎng)頁(yè),網(wǎng)頁(yè)自動(dòng)跳轉到登陸網(wǎng)頁(yè)。
<authentication mode="Forms" >
<forms loginUrl="logon.aspx" name=".FormsAuthCookie"/>
</authentication>
其中元素loginUrl表示登陸網(wǎng)頁(yè)的名稱(chēng),name表示Cookie名稱(chēng)
2、<authorization> 節
作用:控制對 URL 資源的客戶(hù)端訪(fǎng)問(wèn)(如允許匿名用戶(hù)訪(fǎng)問(wèn))。此元素可以在任何級別(計算機、站點(diǎn)、應用程序、子目錄或頁(yè))上聲明。必需與<authentication> 節配合使用。
示例:以下示例禁止匿名用戶(hù)的訪(fǎng)問(wèn)
<authorization>
<deny users="?"/>
</authorization>
注:您可以使用user.identity.name來(lái)獲取已經(jīng)過(guò)驗證的當前的用戶(hù)名;可以使用
web.Security.FormsAuthentication.RedirectFromLoginPage方法將已驗證的用戶(hù)重定向到用戶(hù)剛才請求的頁(yè)面.具體的實(shí)例請參考:
Forms驗證 http://www.tjdsmy.cn/websample/dataauth.aspx
3、<compilation>節
作用:配置 ASP.NET 使用的所有編譯設置。默認的debug屬性為“True”.在程序編譯完成交付使用之后應將其設為T(mén)rue(Web.config文件中有詳細說(shuō)明,此處省略示例)
4、<customErrors>
作用:為 ASP.NET 應用程序提供有關(guān)自定義錯誤信息的信息。它不適用于 XML Web services 中發(fā)生的錯誤。
示例:當發(fā)生錯誤時(shí),將網(wǎng)頁(yè)跳轉到自定義的錯誤頁(yè)面。
<customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly">
</customErrors>
其中元素defaultRedirect表示自定義的錯誤網(wǎng)頁(yè)的名稱(chēng)。mode元素表示:對不在本地 Web 服務(wù)器上運行的用戶(hù)顯示自定義(友好的)信息。
5、<httpRuntime>節
作用:配置 ASP.NET HTTP 運行庫設置。該節可以在計算機、站點(diǎn)、應用程序和子目錄級別聲明。
示例:控制用戶(hù)上傳文件最大為4M,最長(cháng)時(shí)間為60秒,最多請求數為100
<httpRuntime maxRequestLength="4096" executionTimeout="60" appRequestQueueLimit="100"/>
6、 <pages>
作用:標識特定于頁(yè)的配置設置(如是否啟?會(huì )話(huà)狀態(tài)、視圖狀態(tài),是否檢測用戶(hù)的輸入等)。<pages>可以在計算機、站點(diǎn)、應用程序和子目錄級別聲明。
示例:不檢測用戶(hù)在瀏覽器輸入的內容中是否存在潛在的危險數據(注:該項默認是檢測,如果您使用了不檢測,一要對用戶(hù)的輸入進(jìn)行編碼或驗證),在從客戶(hù)端回發(fā)頁(yè)時(shí)將檢查加密的視圖狀態(tài),以驗證視圖狀態(tài)是否已在客戶(hù)端被篡改。(注:該項默認是不驗證)
<pages buffer="true" enableViewStateMac="true" validateRequest="false"/>
7、<sessionState>
作用:為當前應用程序配置會(huì )話(huà)狀態(tài)設置(如設置是否啟用會(huì )話(huà)狀態(tài),會(huì )話(huà)狀態(tài)保存位置)。
示例:
<sessionState mode="InProc" cookieless="true" timeout="20"/>
</sessionState>
注:
mode="InProc"表示:在本地儲存會(huì )話(huà)狀態(tài)(您也可以選擇儲存在遠程服務(wù)器或SAL服務(wù)器中或不啟用會(huì )話(huà)狀態(tài))
cookieless="true"表示:如果用戶(hù)?覽器不支持Cookie時(shí)啟用會(huì )話(huà)狀態(tài)(默認為False)
timeout="20"表示:會(huì )話(huà)可以處于空閑狀態(tài)的分鐘數
8、<trace>
作用:配置 ASP.NET 跟蹤服務(wù),主要用來(lái)程序測試判斷哪里出錯。
示例:以下為Web.config中的默認配置:
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
注:
enabled="false"表示不啟用跟蹤;requestLimit="10"表示指定在服務(wù)器上存儲的跟蹤請求的數目
pageOutput="false"表示只能通過(guò)跟蹤實(shí)用工具訪(fǎng)問(wèn)跟蹤輸出;
traceMode="SortByTime"表示以處理跟蹤的順序來(lái)顯示跟蹤信息
localOnly="true" 表示跟蹤查看器 (trace.axd) 只用于宿主 Web 服務(wù)器
三、自定義Web.config文件配置節
自定義Web.config文件配置節過(guò)程?為兩步。
一是在在配置文件頂部 <configSections> 和 </configSections>標記之間聲明配置節的名稱(chēng)和處理該節中配置數據的 .NET Framework 類(lèi)的名稱(chēng)。
二是在 <configSections> 區域之后為聲明的節做實(shí)際的配置設置。
示例:創(chuàng )建一個(gè)節存儲數據庫連接字符串
<configuration>
<configSections>
<section name="appSettings" type="System.Configuration.NameValueFileSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</configSections>
<appSettings>
<add key="scon" value="server=a;database=northwind;uid=sa;pwd=123"/>
</appSettings>
<system.web>
......
</system.web>
</configuration>
四、訪(fǎng)問(wèn)Web.config文件
您可以通過(guò)使用ConfigurationSettings.AppSettings 靜態(tài)字符串集合來(lái)訪(fǎng)問(wèn) Web.config 文件示例:獲取上面例子中建立的連接字符串。
Dim sconstr As String = ConfigurationSettings.AppSettings("SconStr")
Dim scon = New SqlConnection(sconstr)
售前咨詢(xún)
售后咨詢(xún)
備案咨詢(xún)
二維碼
TOP