web config 重要節點

<configuration>:根節點web

 

<appSettings>:網站的應用配置信息,也可鏈接數據庫數據庫

 

<connectionStrings>:鏈接數據庫。與<appSettings>彷佛功能重合,具體有什麼區別還不清楚。**瀏覽器

 

<system.web>:網站運行時的一些配置服務器

<httpRuntimemaxRequestLength="40960" executionTimeout="60" appRequestQueueLimit="100"/>:該節能夠在計算機、站點、應用程序和子目錄級別聲明。 例如上面的配置控制用戶最大能上傳的文件爲40M(40*1024K),最大超時時間爲60秒,最大併發請求爲100個cookie

 <compilation debug="true" targetFramework="4.0" />:配置 ASP.NET 使用的全部編譯設置。默認的debug屬性爲「true」,即容許調試,在這種狀況下會影響網站的性能,因此在程序編譯完成交付使用以後應將其設爲「false」。  session

<pages validateRequest="false">:是否驗證用戶輸入中有跨站點腳本攻擊和SQL注入式漏洞攻擊,默認爲true。併發

 

web.config配置文件(默認的配置設置)如下全部的代碼都應該位於app

<configuration>
<system.web>//節點主要是網站運行時的一些配置

</system.web>
</configuration>less

之間,出於學習的目的下面的示例都省略了這段XML標記。ide

<appSettings>

<!--容許上傳的圖片格式類型--> 
<add key="ImageType" value=".jpg;.bmp;.gif;.png;.jpeg"/> 
<!--容許上傳的文件類型--> 
<add key="FileType" value=".jpg;.bmp;.gif;.png;.jpeg;.pdf;.zip;.rar;.xls;.doc"/> 
</appSettings>

<connectionStrings> 
<!--SQL Server數據庫配置--> 
<add name="AspNetStudyConnectionString1" connectionString="Data Source=(local);Initial Catalog=AspNetStudy;User ID=sa;Password=sa"/> 
</connectionStrings> 
在代碼中咱們能夠這麼實例化數據庫鏈接對象: 
string connectionString = ConfigurationManager.ConnectionStrings["AspNetStudyConnectionString1"].ConnectionString; 
//實例化SqlConnection對象 
SqlConnection connection = new SqlConnection(connectionString); 
這樣作的好處是一旦開發時所用的數據庫和部署時的數據庫不一致,僅僅須要用記事本之類的文本編輯工具編輯connectionString屬性的值就好了。

<authentication> 
做用:配置 ASP.NET 身份驗證支持(爲Windows、Forms、PassPort、None四種)。該元素只能在計算機、站點或應用程序級別聲明。<authentication> 元素必需與<authorization> 節配合使用。
示例:
如下示例爲基於窗體(Forms)的身份驗證配置站點,當沒有登錄的用戶訪問須要身份驗證的網頁,網頁自動跳轉到登錄網頁。

<authentication mode="Forms" > 
<forms loginUrl="logon.aspx" name=".FormsAuthCookie"/>
</authentication>

其中元素loginUrl表示登錄網頁的名稱,name表示Cookie名稱。

<authorization> 
做用:控制對 URL 資源的客戶端訪問(如容許匿名用戶訪問)。此元素能夠在任何級別(計算機、站點、應用程序、子目錄或頁)上聲明。必需與<authentication> 節配合使用。
示例:如下示例禁止匿名用戶的訪問

<authorization>
  <deny users="?"/>
</authorization>

注:你可使用user.identity.name來獲取已通過驗證的當前的用戶名;可使用
web.Security.FormsAuthentication.RedirectFromLoginPage方法將已驗證的用戶重定向到用戶剛纔請求的頁面.具體的實例請參考:
Forms驗證 http://www.fanvb.net/websample/dataauth.aspx

<compilation>
做用:配置 ASP.NET 使用的全部編譯設置。默認的debug屬性爲「True」. 即容許調試。在程序編譯完成交付使用以後應將其設爲False。

<customErrors>
做用:爲 ASP.NET 應用程序提供有關自定義錯誤信息的信息。它不適用於 XML Web services 中發生的錯誤。
示例:當發生錯誤時,將網頁跳轉到自定義的錯誤頁面。

<customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly">
</customErrors>

其中元素defaultRedirect表示自定義的錯誤網頁的名稱。mode元素表示:對不在本地 Web 服務器上運行的用戶顯示自定義(友好的)信息。

<httpRuntime>
做用:配置 ASP.NET HTTP 運行庫設置。該節能夠在計算機、站點、應用程序和子目錄級別聲明。
示例:控制用戶上傳文件最大爲4M,最長時間爲60秒,最多請求數爲100

<httpRuntime maxRequestLength="4096" executionTimeout="60" appRequestQueueLimit="100"/>

<pages>
做用:標識特定於頁的配置設置(如是否啓用會話狀態、視圖狀態,是否檢測用戶的輸入等)。<pages>能夠在計算機、站點、應用程序和子目錄級別聲明。
示例:不檢測用戶在瀏覽器輸入的內容中是否存在潛在的危險數據(注:該項默認是檢測,若是你使用了不檢測,一要對用戶的輸入進行編碼或驗證),在從客戶端回發頁時將檢查加密的視圖狀態,以驗證視圖狀態是否已在客戶端被篡改。(注:該項默認是不驗證)

<pages buffer="true" enableViewStateMac="true" validateRequest="false"/>

<sessionState>
做用:爲當前應用程序配置會話狀態設置(如設置是否啓用會話狀態,會話狀態保存位置)。
示例:

<sessionState mode="InProc" cookieless="true" timeout="20"/>
</sessionState>

注:
mode="InProc"表示:在本地儲存會話狀態(你也能夠選擇儲存在遠程服務器或SAL服務器中或不啓用會話狀態)
cookieless="true"表示:若是用戶瀏覽器不支持Cookie時啓用會話狀態(默認爲False)
timeout="20"表示:會話能夠處於空閒狀態的分鐘數

<trace>
做用:配置 ASP.NET 跟蹤服務,主要用來程序測試判斷哪裏出錯。
示例:如下爲Web.config中的默認配置:

<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />

注:enabled="false"表示不啓 用跟蹤;requestLimit="10"表示指定在服務器上存儲的跟蹤請求的數目pageOutput="false"表示只能經過跟蹤實用工具訪問跟蹤輸出;traceMode="SortByTime"表示以處理跟蹤的順序來顯示跟蹤信息localOnly="true" 表示跟蹤查看器 (trace.axd) 只用於宿主 Web 服務器

相關文章
相關標籤/搜索