ASP.net 配置–http://blog.sina.com.cn/s/blog_4a93ccea0100cx9v.html

來源:互聯網
上載者:User
ASP.NET項目配置和最佳化

 

 

1.通過Web.Config檔案實現

2.如何配置Web.Config檔案:

(1)配置ASP.NET身分識別驗證  <authentication mode="?">

mode="Windows"(IIS根據應用程式設定執行身分識別驗證,IIS必須禁止匿名訪問)

mode="Forms"(表單登入身分識別驗證,使用者身份標記儲存於Cookie對象中)

mode="PassPort"(通過Microsoft的集中驗證服務執行,為網站提供不同使用者訪問此應用程式資源)

mode="None" (不執行身分識別驗證)

例如:當沒有登入的使用者訪問需要身分識別驗證的網頁時,網頁自動跳轉到登入頁面,其中loginUrl是登入頁面名稱,name是Cookie名稱。

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

 

(2)控制對URL資源的用戶端訪問(如允許匿名使用者存取) <authorization>

【注意】必須與<authentication>配合使用,也可以使用user.identity.name來擷取已經通過驗證的目前使用者名,可以使用web.Security.FormsAuthentication.RedirectFormLoginPage方法將已經驗證的使用者重新導向到使用者剛請求的頁面。

例如:禁止匿名使用者的訪問:(允許則用allow)

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

 

(3)配置ASP.NET使用的所有編譯設定 <compilation>

<compilation DefaultLanguage="VB.NET/C#"> 預設使用後台代碼的語言

<compilation Debug="true/false">調式程式:True表示將啟動ASPX調試;False可以提高應用程式的運行效能,不過建議在程式開發調試時,設定為“True”;交於客戶使用則設定為“False”

 

(4)為ASP.NET應用程式提供有關自訂錯誤資訊的資訊 <customErrors mode="?">

【注意】它不適用於XML Web Services中發生的錯誤

<customErrors mode="On">表示一直顯示自訂資訊

<customErrors mode="Off">表示一直顯示詳細的ASP.NET錯誤資訊

<customErrors mode="RemoteOnly">只對不在本地WEB伺服器上啟動並執行使用者(遠端使用者)顯示自訂資訊

例如:當錯誤發生時將網頁跳轉到自訂的錯誤頁面。

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

 

(5)配置ASP.NET HTTP運行庫的設定 <httpRuntime>

例如:指定使用者上傳檔案最大為4MB,最長時間為60s,最多請求數為100.

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

 

(6)配置用於標識特定頁設定(如是否啟用工作階段狀態、檢視狀態、是否檢測使用者輸入等) <pages>

例如:不檢測使用者在瀏覽器輸入的內容中是否存在潛在危險資料,在用戶端返回頁時檢查加密的檢視狀態,以驗證檢視狀態是否已在用戶端被篡改。

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

 

(7)配置當前應用程式工作階段狀態(是否啟用工作階段狀態、工作階段狀態儲存位置等等) <sessionState>

<sessionState Mode="Off/InProc/StateServer/SqlServer">Off禁用工作階段狀態、InProc背景工作處理序自身儲存工作階段狀態、StateServer將會話資訊儲存在一個單獨的ASP.NET狀態服務中、SqlServer將會話資訊儲存在SQL server資料庫中。

<sessionState StateConnectionString="?">儲存遠端工作階段狀態的伺服器名,預設為本地。

<sessionState Cookieless="True/False">True表示不使用Cookie會話標識客戶,False表示啟動Cookie工作階段狀態。

<sessionState SqlConnectionString="資料庫連接字串">設定SQL Server資料庫連接

<sessionState Timeout="20">設定會話時間,超到期限會自動中斷會話,預設設定為20(分鐘)

例如:儲存在本地且使用者瀏覽器不支援Cookie時啟用工作階段狀態,會話處於空閑狀態的分鐘數為20分鐘

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

 

(8)配置ASP.NET的Tracing Service <trace>

判斷程式測試哪裡出錯

例如:程式不啟用跟蹤,在伺服器上儲存的跟蹤請求數為10,只能通過跟蹤工具 + 生產力訪問跟蹤輸出,處理跟蹤的時間順序來顯示跟蹤資訊,跟蹤查看器(trace.axd),只用於當地Web伺服器。

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

 

(9)自訂Web.config檔案配置:

例如:

<configuration>

<configSections>  //聲明配置節的名稱和配置著作權資訊

<section name="appSettings" type="System.Configuration.NameValueFileSectionHandler,System,Version=1.0.3300.0,Culture=netural,PublicKeyToken=b77a5c561934e089"/>

</configSections>

<appSettings>  //實際配置設定

<add key="ss" value="server=a;database=northwind;uid=sa;pwd=111"/>

</appSettings>

<system.web>

....

</system.web>

</configuration>

 

如何來調用上面的資料庫連接?

protected static string Isdebug=ConfigurationSettings.AppSettings["debug"]

 

3.比較常用的一些web配置:

<!--禁用用戶端驗證-->

<pages validateRequest="false"/>

 

<!--上傳檔案大小,最大大小200M-->

<httpRuntime exection Timeout="9999" maxRequestLength="204800" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100"/>

 

<!--SqlServer資料庫連接字串配置-->

<connectionStrings>
  <add name="連接字串名" connectionString="Data Source=伺服器名;Integrated Security=SSPI;Initial Catalog=資料庫名;"/>
  <add name="連接字串名" connectionString="Data Source=.(本機伺服器名);Initial Catalog=資料庫名;User ID=Sql Server使用者名稱;Password=Sql Server密碼" providerName="System.Data.SqlClient"/>
 </connectionStrings>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.