httpRuntime 項目 (ASP.NET 設定結構描述)
設定 ASP.NET HTTP 執行階段設定,這些設定會決定如何處理 ASP.NET 應用程式的要求。
<httpRuntime
apartmentThreading = "[True|False]"
appRequestQueueLimit = "number"
delayNotificationTimeout = "number"
enable = "[True|False]"
enableHeaderChecking = "[True|False]"
enableKernelOutputCache = "[True|False]"
enableVersionHeader = "[True|False]"
encoderType = "name"
executionTimeout = "number"
maxRequestLength = "number"
maxWaitChangeNotification = "number"
minFreeThreads = "number"
minLocalRequestFreeThreads = "number"
requestLengthDiskThreshold = "number"
requestValidationMode = "[2.0|4.0]"
requestValidationType = "name"
requireRootedSaveAsPath = "[True|False]"
sendCacheControlHeader = "[True|False]"
shutdownTimeout = "number"
useFullyQualifiedRedirectUrl = "[True|False]"
waitChangeNotification = "number"
/>
屬性和項目
下列各節將說明屬性、子項目和父項目。
屬性
屬性 |
描述 |
---|---|
apartmentThreading |
選擇性 Boolean 屬性。 啟用傳統 ASP 相容性的 apartment 執行緒。 預設值為 False。 |
appRequestQueueLimit |
選擇性 Int32 屬性。 指定 ASP.NET 為應用程式佇列要求的最大數目。 當可用的執行緒不足以處理要求時,這些要求就會排入佇列。 當佇列超過這個屬性中指定的限制時,會以「503 - 伺服器太忙碌」錯誤而拒絕外來的要求。 預設為 5000。 在 .NET Framework 1.0 和 1.1 版中,預設值為 100 個要求。 |
delayNotificationTimeout |
選擇性 Int32 屬性。 指定延遲告知的逾時,以秒為單位。 預設為 5。 |
enable |
選擇性 Boolean 屬性。 指定是否在目前和子節點層級啟用應用程式定義域 (AppDomain),以接受連入要求。 如果為 False,則應用程式會關閉。 預設為 True。 |
enableHeaderChecking |
選擇性 Boolean 屬性。 指定 ASP.NET 是否應該檢查要求標頭,以查看是否存在潛在的資料隱碼攻擊。 如果偵測到攻擊,ASP.NET 會回應錯誤。 預設為 True。 |
enableKernelOutputCache |
選擇性 Boolean 屬性。 指定是否啟用輸出快取。 這個屬性只有在已安裝 Microsoft Internet Information Services (IIS) 6.0 (含) 以後版本時才有作用。 輸出快取的組態和要求的類型會決定是否可以快取內容。 若要快取回應,則必須符合下列準則:
預設為 True。 |
enableVersionHeader |
選擇性 Boolean 屬性。 指定 ASP.NET 是否應該輸出版本標頭。 Microsoft Visual Studio 2005 會使用這個屬性判斷使用中的 ASP.NET 版本。 實際執行站台不需要它,可以將其停用。
注意事項
這個屬性在 .NET Framework 1.0 中無法使用。
預設為 True。 |
encoderType |
取得或設定可用於處理 HTML 及 URL 編碼之自訂型別的名稱。 ASP.NET 使用 HttpEncoder 型別做為 HTML 和 URL 編碼工作的預設處理常式。 若要自訂編碼行為,您可以建立繼承自 HttpEncoder 型別的類別。 在應用程式的組態檔中,您接著將 httpRuntime 項目的 EncoderType 屬性設為自訂型別的完整字串名稱。 這個屬性是 .NET Framework 4 版中新增的屬性。 |
executionTimeout |
選擇性 Int32 屬性。 指定由 ASP.NET 自動關閉之前允許執行要求的最大秒數。 這個逾時只在 compilation 項目中的偵錯屬性為 False 時才適用。 如果 debug 屬性為 True,為了避免在偵錯期間關閉應用程式,請不要將這個逾時設定為大的數值。 預設為 110。 在 .NET Framework 1.0 和 1.1 中,預設為 90 秒。 |
maxRequestLength |
選擇性 Int32 屬性。 指定輸入資料流緩衝臨界值的限制,以 KB 為單位。 這個限制可以用來防止服務拒絕攻擊,例如由使用者將大型檔案回傳至伺服器所引起的攻擊。 預設為 4096。 如果超出臨界值,則會擲回 ConfigurationErrorsException 例外狀況。 |
maxWaitChangeNotification |
選擇性 Int32 屬性。 指定從首次檔案變更通知開始,到重新啟動新要求的 AppDomain 之前,等待的最大秒數。 請設定這個屬性的數值,使其大於完成任何檔案複製處理序所需的時間長度。 檔案變更通知根據這個屬性的值和 waitChangeNotification 屬性進行組合。 預設為 0。 |
minFreeThreads |
選擇性 Int32 屬性。 指定允許執行新要求的最低可用執行緒個數。 ASP.NET 會保持指定數量的執行緒,供需要額外的執行緒來完成處理作業的要求使用。 預設為 8。 |
minLocalRequestFreeThreads |
選擇性 Int32 屬性。 指定使 ASP.NET 持續可用以允許執行新的本機要求的最低可用執行緒個數。 指定的執行緒個數保留供來自本機主機的要求使用,免得有些要求在處理期間發出子要求至本機主機。 如此有助於避免遞迴重複進入 Web 伺服器的可能死結。 預設為 4。 |
requestLengthDiskThreshold |
選擇性 Int32 屬性。 指定輸入資料流緩衝臨界值的限制,以 KB 為單位。 這個值不應超過 maxRequestLength 屬性。 預設為 80。 |
requestValidationMode |
選擇性 Int32 屬性。 取得或設定版本號碼,這個版本號碼表示要使用哪一種 ASP.NET 版本特定驗證方法。 不會驗證您指派給這個屬性的值以比對特定版本的 ASP.NET。 小於 4.0 的任何數值 (例如3.7、2.9 或 2.0),都會解譯為 2.0。 大於 4.0 任何數字,都會解譯為 4.0。 預設值為 4.0。 |
requestValidationType |
選擇性 String 屬性。 取得或設定用於驗證 HTTP 要求的型別名稱。 若要自訂 ASP.NET 要求驗證行為,您可以建立繼承自 RequestValidator 型別的類別。 在應用程式的組態檔中,您接著將 httpRuntime 項目的 requestValidationType 屬性設為自訂型別的完整字串名稱。 預設值為 ASP.NET 用於驗證之 RequestValidator 型別的完整名稱 |
requireRootedSaveAsPath |
選擇性 Boolean 屬性。 指定 SaveAs 方法中的 filename 參數是否必須為絕對路徑。 ASP.NET 處理序必須具有在指定位置建立檔案的使用權限。 預設為 True。 |
sendCacheControlHeader |
選擇性 Boolean 屬性。 指定是否傳送快取控制項標頭,預設設為 Private。 如果為 True,則會停用用戶端快取。 預設為 True。 |
shutdownTimeout |
選擇性 Int32 屬性。 指定背景工作處理序關閉所允許的秒數。 當逾時超過時,ASP.NET 會關閉背景工作處理序。 預設為 90 秒。 |
useFullyQualifiedRedirectUrl |
選擇性 Boolean 屬性。 指定用戶端重新導向是否為完整路徑 (使用 "https://server/path" 形式,有些行動控制項必須如此),或相對重新導向是否改為傳送至用戶端。 如果為 True,則所有非完整路徑的重新導向會自動轉換為完整路徑形式。
注意事項
如果這個屬性設定為 False,則有些瀏覽器可能會在載入無 Cookie 工作階段的網頁時碰到問題。
預設值為 False。 |
waitChangeNotification |
選擇性 Int32 屬性。 指定在重新啟動 AppDomain 之前,等待其他檔案變更通知的時間 (以秒為單位)。 請設定這個屬性的數值,使其大於更新兩個檔案複製變更告知之間的時間。 檔案變更通知根據這個屬性的值和 maxWaitChangeNotification 屬性進行組合。 預設為 0。 |
子項目
無。
父項目
項目 |
描述 |
---|---|
configuration |
Common Language Runtime 和 .NET Framework 應用程式所使用之每一個組態檔中的必要根項目 (Root Element)。 |
system.web |
指定組態檔中 ASP.NET 組態設定的根項目 (Root Element),並包含會設定 ASP.NET Web 應用程式以及控制這些應用程式之行為的組態項目。 |
備註
httpRuntime 項目會設定 ASP.NET HTTP 執行階段設定,其決定如何處理 ASP.NET 應用程式的要求。 .NET Framework 提供一些不同的執行階段主應用程式,包括 ASP.NET 執行階段主應用程式。 當要求進入時,ASP.NET 會將執行階段設定載入至要處理要求的處理序。 ASP.NET 也會對每一個要在 Web 伺服器上執行的 Web 應用程式建立一個應用程式定義域。
預設的組態
httpRuntime 項目不會明確地在 Machine.config 檔案或根 Web.config 檔案中設定。 不過,下列設定是由系統初始化的預設值。 如果您需要自訂這個區段,必須在您的組態檔內建立這個區段,並只定義需要自訂的屬性。
<httpRuntime
executionTimeout="110"
maxRequestLength="4096"
requestLengthDiskThreshold="80"
useFullyQualifiedRedirectUrl="false"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="5000"
enableKernelOutputCache="true"
enableVersionHeader="true"
requireRootedSaveAsPath="true"
enable="true"
shutdownTimeout="90"
delayNotificationTimeout="5"
waitChangeNotification="0"
maxWaitChangeNotification="0"
requestPriority="Normal"
enableHeaderChecking="true"
sendCacheControlHeader="true"
apartmentThreading="false"
/>
範例
下列範例將示範如何指定 ASP.NET 應用程式的 HTTP 執行階段參數。
<configuration>
<system.web>
<httpRuntime maxRequestLength="4000"
enable = "True"
requestLengthDiskThreshold="512
useFullyQualifiedRedirectUrl="True"
executionTimeout="45"
versionHeader="1.1.4128"/>
</system.web>
</configuration>
項目資訊
組態區段處理常式 |
|
組態成員 |
|
可設定的位置 |
Machine.config 根層次的 Web.config 應用程式層級的 Web.config 虛擬或實體目錄層級的 Web.config |
需求 |
Microsoft Internet Information Services (IIS) 5.0、5.1 或 6.0 .NET Framework 1.0、1.1、2.0 Microsoft Visual Studio 2003 或 Visual Studio 2005 |
請參閱
參考
system.web 項目 (ASP.NET 設定結構描述)