Web.config 詳解

摘要:Web.config 詳解


#########################  sessionState 項目設定  #######################################
1. allowCustomSqlDatabase
選擇性 Boolean 屬性。
指定工作階段狀態 SQL 資料庫是否可以替代 ASP.NET 預設資料庫成為自訂資料庫。如果為 false,則您不能指定初始化分類或資料庫做為 sqlConnectionString 屬性的值。
預設工作階段狀態 SQL 資料庫是 ASPState 資料庫。如需詳細資訊,請參閱工作階段狀態模式。
這個屬性是 .NET Framework 2.0 版中新增的屬性。預設值為 false。

2. cookieless
選擇性 HttpCookieMode 屬性。
指定 Cookie 如何用於 Web 應用程式。
cookieless屬性可以是下列其中一個可能值。預設為 UseCookies 值。
[AutoDetect] = ASP.NET 決定要求瀏覽器或裝置是否支援 Cookie。如果要求的瀏覽器或裝置支援 Cookie,AutoDetect 便會使用 Cookie 保存使用者資料,否則便會在查詢字串中使用識別項。
        如果瀏覽器或裝置支援 Cookie,但目前已停用 Cookie,要求的功能還是會使用 Cookie。
[UseCookies] = 不論瀏覽器或裝置是否支援 Cookie,Cookie 都會保存使用者資料。
[UseDeviceProfile] = ASP.NET 根據 HttpBrowserCapabilities 設定決定是否使用 Cookie。
       如果 HttpBrowserCapabilities 設定表示瀏覽器或裝置支援 Cookie,就會使用 Cookie,否則便會在查詢字串中使用識別項。
[UseUri] =不論瀏覽器或裝置是否支援 Cookie,呼叫的功能都會使用查詢字串儲存識別項。

3.cookieName
選擇性 String 屬性。
指定儲存工作階段識別項的 Cookie 名稱。
這個屬性是 .NET Framework 2.0 版中新增的屬性。
預設值為 "ASP.NET_SessionId"。

4.customProvider
選擇性 String 屬性。
指定用於儲存和擷取工作階段狀態資料的自訂工作階段狀態提供者名稱。在 providers 項目中指定該提供者。該提供者只在工作階段狀態模式設為 Custom 值時使用。如需詳細資訊,請參閱工作階段狀態模式。
這個屬性是 .NET Framework 2.0 版中新增的屬性。
預設為空字串 ("")。

5.mode
選擇性 SessionStateMode 屬性。
指定儲存工作階段狀態值的位置。如需詳細資訊,請參閱工作階段狀態模式。
mode 屬性可以是下列其中一個可能值。預設為 InProc 值。
[Custom] = 工作階段狀態使用自訂資料存放區儲存工作階段狀態資訊。
[InProc] = 工作階段狀態處於 ASP.NET 背景工作處理序的同處理序中。
[Off] = 工作階段狀態已停用。
[SQLServer] = 工作階段狀態使用跨處理序 SQL Server 資料庫儲存狀態資訊。
[StateServer] = 工作階段狀態使用跨處理序 ASP.NET 狀態服務儲存狀態資訊。


6.partitionResolverType
選擇性 String 屬性。
指定儲存工作階段狀態的位置。如果在 partitionResolverType 屬性中指定值,則會忽略 sqlConnectionString 和 stateConnectionString 屬性。PartitionResolverType 屬性傳回的連接字串會用於每個要求,
以連接到其餘要求的適當伺服器位置。如果連接字串無效,則 ASP.NET 擲出的例外狀況與設定伺服器的連接字串無效時所擲出的相同。這個屬性用於在 SQL 或狀態伺服器模式中,跨多個後端節點分割工作階段狀態資料。
這個屬性是 .NET Framework 2.0 版中新增的屬性。
預設為空字串。

 

7.regenerateExpiredSessionId
選擇性 Boolean 屬性。
指定用戶端指定過期的工作階段 ID 時是否重新發出工作階段 ID。依照預設,當 regenerateExpiredSessionId 啟用時,工作階段 ID 只會為 cookieless 模式重新發出。如需詳細資訊,請參閱 IsCookieless。
這個屬性是 .NET Framework 2.0 版中新增的屬性。
預設值為 true。

 

8.sqlCommandTimeout
選擇性 TimeSpan 屬性。
指定使用 SQL Server 工作階段狀態模式之 SQL 命令的期間逾時 (以秒為單位)。期間逾時是 SQL 命令在取消之前可閒置的秒數。
這個屬性是 .NET Framework 2.0 版中新增的屬性。
預設為 0:00:30 (30 秒)。

 

9.sqlConnectionString
選擇性 String 屬性。
指定執行 SQL Server 之電腦的連接字串。mode 屬性設為 SQLServer 值時,這個屬性是必要的。如需詳細資訊,請參閱工作階段狀態模式。
注意事項:若要在使用 SQLServer 模式時改進應用程式的安全性,請使用受保護的組態,利用加密組態的 sessionState 區段以保護 sqlConnectionString 值。
預設值為 "data source=127.0.0.1;Integrated Security=SSPI"。

 


10.stateConnectionString
選擇性 String 屬性。
指定在遠端儲存工作階段狀態的伺服器名稱或位址和連接埠。連接埠值必須為 42424。mode 為 StateServer 值時,這個屬性是必要的。確定已在儲存工作階段狀態資訊的遠端伺服器上執行 ASP.NET 狀態服務。這項服務是用 ASP.NET 安裝的,
預設位於 %SystemRoot%\Microsoft.NET\Framework\VersionNumber\aspnet_state.exe。如需詳細資訊,請參閱工作階段狀態模式。
注意事項:若要在使用 StateServer 模式時改進應用程式的安全性,請使用受保護的組態,利用加密組態的 <sessionState> 區段加密以保護 stateConnectionString 值。
預設值為 "tcpip=127.0.0.1:42424"。

 


11.stateNetworkTimeout
選擇性 TimeSpan 屬性。
指定在取消要求之前,Web 伺服器與狀態伺服器之間的 TCP/IP 網路連接可以閒置的秒數。mode 屬性設為 StateServer 值時會使用這個屬性。
預設值為 10 秒。


12.timeout
選擇性 TimeSpan 屬性。
指定在棄置工作階段之前工作階段可閒置 (Idle) 的分鐘數。對於同處理序 (In-Process) 和狀態伺服器模式,timeout 屬性不能設定為大於 525,601 分鐘 (1 年) 的值。
工作階段 timeout 組態設定只適用於 ASP.NET Web 網頁。變更工作階段 timeout 值不會影響 ASP 網頁的工作階段逾時。同樣地,變更 ASP 網頁的工作階段逾時也不會影響 ASP.NET Web 網頁的工作階段逾時。
預設為 20 分鐘。


13.useHostingIdentity

選擇性 Boolean 屬性。

指定工作階段狀態是否還原成主控識別或使用用戶端模擬。

如果為 true,則 ASP.NET 會使用下列其中一個處理序認證連接至工作階段狀態存放區:

裝載處理序,若是 Microsoft Internet Information Services [IIS] 5 和 5.1 版,便為 ASPNET,或者若是 Microsoft Windows Server 2003,則為 NETWORK SERVICE。

應用程式模擬識別,使用下列組態時會使用此識別:

<identity impersonate="true" userName="user" password="pwd" />
如果為 false,則 ASP.NET 會針對目前的要求,使用目前與作業系統執行緒關聯的認證連接至工作階段狀態存放區。對於用戶端模擬,ASP.NET 會使用與瀏覽器交涉的安全性認證連接至工作階段狀態存放區。
如果為 false,則 ASP.NET 在連接至工作階段狀態存放區時,不會還原處理序識別或應用程式模擬識別。如需詳細資訊,請參閱 ASP.NET 模擬。
這個屬性是 .NET Framework 2.0 版中新增的屬性。
預設值為 true。
注意事項 :在 .NET Framework 1.1 版中,如果 mode 屬性設定為 SQLServer,且用戶端模擬已生效,則 ASP.NET 會使用來自 ASP.NET 用戶端模擬的用戶端認證,連接至執行 SQL Server 的電腦。
 

##########  httpModules    #######################################
設定應用程式中的 HTTP 模組。可以在組態階層架構中的任何層級宣告這個項目。

add   將 httpModules 項目加入至應用程式。
clear   移除應用程式的所有 httpModules 項目。
remove   移除 httpModules 項目的參考。 值必須完全符合先前 add 指示詞的值。

 

########################     httpHandlers   #####################################################################
依據要求中所指定的 URL 和 HTTP 動作,將收到的要求對應至適當的處理常式。 可以在組態階層架構中的任何層級宣告這個項目。

add   指定處理常式的動作/路徑對應。
 
clear   移除目前已設定或繼承的所有處理常式對應。
 
remove   移除處理常式的動作/路徑對應。 remove 指示詞必須完全符合先前 add 指示詞的動作/路徑組合。 不支援萬用字元。
 

 

########################    httpRuntime   #####################################################################
設定 ASP.NET HTTP 執行階段設定,這些設定會決定如何處理 ASP.NET 應用程式的要求。

1.[apartmentThreading]   選擇性 Boolean 屬性。啟用傳統 ASP 相容性的 apartment 執行緒。
    這個屬性是 .NET Framework 2.0 版中新增的屬性。預設為 False。
 

2.[appRequestQueueLimit]  選擇性 Int32 屬性。指定 ASP.NET 為應用程式佇列要求的最大數目。當可用的執行緒不足以處理要求時,
    這些要求就會排入佇列。當佇列超過這個屬性中指定的限制時,會以「503 - 伺服器太忙碌」錯誤而拒絕外來的要求。
    預設值為 5000。
    注意事項: 在 .NET Framework 1.0 和 1.1 版中,預設值為 100 個要求。
 

 
3.[delayNotificationTimeout]  選擇性 TimeSpan 屬性。指定延遲告知的逾時。這個屬性是 .NET Framework 2.0 版中新增的屬性。
    預設值為 "00:00:05" (5 秒)。
 

4.[enable]    選擇性 Boolean 屬性。指定是否在目前和子節點層級啟用應用程式定義域 (AppDomain),
    以接受連入要求。如果為 False,則應用程式會關閉。預設為 True。
 

5.[enableHeaderChecking]  選擇性 Boolean 屬性。指定 ASP.NET 是否應該檢查要求標頭,以查看是否存在潛在的資料隱碼攻擊。
    如果偵測到攻擊,ASP.NET 會回應錯誤。這個屬性是 .NET Framework 2.0 版中新增的屬性。
    預設為 True。
 

6.[enableKernelOutputCache]  選擇性 Boolean 屬性。指定是否啟用輸出快取。這個屬性只有在已安裝 Microsoft Internet Information Services (IIS) 6.0 (含)
           以後版本時才有作用。輸出快取的組態和要求的類型會決定是否可以快取內容。
    若要快取回應,則必須符合下列準則:
    必須藉由頁面指示詞或使用快取 API 以明確啟用快取。快取必須有到期原則,讓核心 (Kernel) 知道什麼時候應該捨棄回應。
    快取沒有任何變數標頭或參數。驗證 (Authentication) 是不需要的。預設為 True。
 

7.[enableVersionHeader ] 選擇性 Boolean 屬性。指定 ASP.NET 是否應該輸出版本標頭。Microsoft Visual Studio 2005
    使用這個屬性判斷使用中的 ASP.NET 版本。實際執行站台不需要它,可以將其停用。
    注意事項:這個屬性在 .NET Framework 1.0 版中無法使用。預設為 True。
 

8.[executionTimeout]   選擇性 TimeSpan 屬性。指定由 ASP.NET 自動關閉之前允許執行要求的最大秒數。
    這個逾時只在 compilation 項目中的偵錯屬性為 False 時才適用。若要在偵錯時避免關閉應用程式,
    請不要將這個逾時設定為大的數值。
    注意事項:在 .NET Framework 1.0 和 1.1 版中,預設值為 90 秒。
    預設值為 "00:01:50" (110 秒)。

 
9.[maxRequestLength]   選擇性 Int32 屬性。指定輸入資料流緩衝臨界值的限制,以 KB 為單位。這個限制可以用來防止服務拒絕攻擊,
    例如由使用者將大型檔案回傳至伺服器所引起的攻擊。 預設值為 4096 (4 MB)。

 
10.[maxWaitChangeNotification] 選擇性 Int32 屬性。指定從首次檔案變更通知開始,到重新啟動新要求的 AppDomain 之前,
    等待的最大秒數。請設定這個屬性的數值,使其大於完成任何檔案複製處理序所需的時間長度。
    檔案變更通知根據這個屬性的值和 waitChangeNotification 屬性進行組合。
    這個屬性是 .NET Framework 2.0 版中新增的屬性。 預設值為 0。

 
11.[minFreeThreads]  選擇性 Int32 屬性。指定允許執行新要求的最低可用執行緒個數。ASP.NET 會保持指定數量的執行緒,
    供需要額外的執行緒來完成處理作業的要求使用。預設值為 8。

 
12.[minLocalRequestFreeThreads] 選擇性 Int32 屬性。指定使 ASP.NET 持續可用以允許執行新的本機要求的最低可用執行緒個數。
    指定的執行緒個數保留供來自本機主機的要求使用,免得有些要求在處理期間發出子要求至本機主機。
    如此有助於避免遞迴重複進入 Web 伺服器的可能死結。預設值為 4。
 

13.[requestLengthDiskThreshold] 選擇性 Int32 屬性。指定輸入資料流緩衝臨界值的限制,以位元組為單位。這個值不應超過 maxRequestLength 屬性。
    這個屬性是 .NET Framework 2.0 版中新增的屬性。 預設值為 256。
 

 
14.[requireRootedSaveAsPath]  選擇性 Boolean 屬性。指定 SaveAs 方法中的 filename 參數是否必須為絕對路徑。
    ASP.NET 處理序必須具有在指定位置建立檔案的使用權限。
    這個屬性是 .NET Framework 2.0 版中新增的屬性。 預設為 True。
 

15.[sendCacheControlHeader]  選擇性 Boolean 屬性。指定是否傳送快取控制項標頭,預設設為 Private。如果為 True,則會停用用戶端快取。
    這個屬性是 .NET Framework 2.0 版中新增的屬性。 預設為 True。
 

16.[shutdownTimeout]   選擇性 TimeSpan 屬性。指定背景工作處理序關閉所允許的分鐘數。當超過逾時時,ASP.NET 會關閉背景工作處理序。
    這個屬性是 .NET Framework 2.0 版中新增的屬性。 預設為 "00:01:30" (90 秒)。
 

17.[useFullyQualifiedRedirectUrl]  選擇性 Boolean 屬性。指定用戶端重新導向是否為完整路徑 (使用 "http://server/path" 形式,有些行動控制項必須如此),
       或相對重新導向是否改為傳送至用戶端。如果為 True,則所有非完整路徑的重新導向會自動轉換為完整路徑形式。
       注意事項: 如果為 False,則有些瀏覽器可能會在載入無 Cookie 工作階段的網頁時碰到問題。預設為 False。
 

18.[waitChangeNotification]  選擇性 Int32 屬性。指定在重新啟動 AppDomain 之前,等待其他檔案變更通知的時間 (以秒為單位)。
    請設定這個屬性的數值,使其大於更新兩個檔案複製變更告知之間的時間。檔案變更通知根據這個屬性的值和 maxWaitChangeNotification 屬性進行組合。
    這個屬性是 .NET Framework 2.0 版中新增的屬性。 預設值為 0 秒。
 


########################     設定asp.net 發信預設值    #####################################################################
 <system.net>
  <mailSettings>
   <smtp from="eschool@eri.com.tw">
    <network host="192.168.10.99" password="" userName=""/>
   </smtp>
  </mailSettings>
 </system.net>