在執行 IIS 的 Web 服務器上設定 ASP.NET 進程模型設定。
Syntax
class ProcessModelSection : ConfigurationSection
方法
下表列出 類別所 ProcessModelSection 公開的方法。
| 名稱 | 描述 |
|---|---|
| GetAllowDefinition | (繼承自 ConfigurationSection.) |
| GetAllowLocation | (繼承自 ConfigurationSection。) |
| RevertToParent | (繼承自 ConfigurationSection。) |
| SetAllowDefinition | (繼承自 ConfigurationSection。) |
| SetAllowLocation | (繼承自 ConfigurationSection。) |
屬性
下表列出 類別所 ProcessModelSection 公開的屬性。
| 名稱 | 描述 |
|---|---|
AutoConfig |
讀取/寫入 boolean 值。
true 如果 ASP.NET 會自動設定特定屬性,以達到以電腦設定為基礎的最佳效能; false 如果 ASP.NET 使用明確定義的屬性值,則為 。 預設值為 false。 稍後會在一節中列出已設定的屬性。
注意:這些屬性只會影響 ASP.NET 應用程式,而不會影響.NET Framework用戶端應用程式。
注意: Machine.config檔案中此屬性的預設值為 true ,這會覆寫較低組態檔中的設定。 如果您從 Machine.config 移除 autoConfig 專案,預設值會還原為 false 。 |
ClientConnectedCheck |
讀取/寫入 datetime 值,指定 ASP.NET 檢查用戶端是否已連線之前,要求保留在佇列中的時間長度。 預設值是 5 秒。 |
ComAuthenticationLevel |
讀取/寫入 sint32 值,指定 DCOM 安全性的驗證層級。 後續的一節會列出可能的值。 |
ComImpersonationLevel |
讀取/寫入 sint32 值,指定 COM 安全性的驗證層級。 後續的一節會列出可能的值。 |
CpuMask |
讀取/寫入 sint32 值,指定多處理器伺服器上哪些處理器 (CPU) ,可執行 ASP.NET 進程。 預設值為 0xffffffff。這個值會指定一個位模式,指出符合執行 ASP.NET 執行緒的 CPU。 例如,0x0d十六進位值代表位模式 1101。 在具有四個 CPU 的電腦上,這表示 ASP.NET 進程可以在 CPU 0、2 和 3 上排程,但無法在 CPU 1 上排程。 ASP.NET 會針對每個合格的 CPU 啟動一個背景工作進程。 WebGarden如果 屬性為 true , CpuMask 則會將背景工作進程限制為限定 CPU 的數目。 背景工作進程數目上限等於 CPU 數目。
WebGarden如果屬性 false (預設值) , CpuMask 則會忽略,而且只會執行一個背景工作進程。 |
Enable |
讀取/寫入 boolean 值。 如果啟用處理序模型則為 true,否則為 false。 預設值為 true。 |
IdleTimeout |
讀取/寫入 datetime 值,指定閒置期間之後,ASP.NET 會自動結束背景工作進程。 預設值為無限期。 |
Location |
(繼承自 ConfigurationSection .) 金鑰屬性。 |
LogLevel |
讀取/寫入 sint32 值,指定要寫入事件記錄檔的事件種類。 後續的一節會列出可能的值。 |
MaxAppDomains |
讀取/寫入 sint32 值,指定一個進程中允許的應用程式域數目上限。 此屬性必須小於或等於 2000。 預設值為 2000。 |
MaxIOThreads |
讀取/寫入 sint32 值,指定從 5 到 100) 5 到 100) 的 I/O (執行緒數目上限,以用於每個 CPU 的進程。 預設值為 20。例如,如果此值在單一處理器伺服器上為 25,ASP.NET 將進程限制設定為 25。 在雙處理器伺服器上,ASP.NET 將限制設定為 50。 這個屬性的值必須等於或大於 MinFreeThreadHttpRuntimeSection 類別的 屬性。 |
MaxWorkerThreads |
讀取/寫入 sint32 值,指定從 5 到 100) 的最大背景 (工作執行緒數目,以用於每個 CPU 的進程。 預設值為 20。例如,如果此值在單一處理器伺服器上為 25,ASP.NET 會使用執行時間 API 將進程限制設定為 25。 在雙處理器伺服器上,ASP.NET 將限制設定為 50。 這個屬性的值必須等於或大於 MinFreeThread 類別的 HttpRuntimeSection 屬性。 |
MemoryLimit |
讀取/寫入 sint32 值,指定允許的記憶體大小上限,以系統記憶體總數的百分比表示,背景工作進程可以在 ASP.NET 啟動新的進程之前取用,並重新指派現有的要求。 預設值是 60。 |
MinIOThreads |
讀取/寫入 sint32 值,指定要針對每個 CPU 進程使用的 I/O 執行緒數目下限。 預設值是 1。 |
MinWorkerThreads |
讀取/寫入 sint32 值,指定每個 CPU 進程要使用的背景工作執行緒數目上限。 預設值是 1。 |
Password |
如果存在) ,則會 (一個讀取/寫入 string 值,該值會與 屬性一起 UserName 產生,以設定的 Microsoft Windows 身分識別來執行背景工作進程。 預設值為 「AutoGenerate」。
注意:UserName如需特殊名稱 「System」 和 「Machine」 的詳細資訊,請參閱 屬性,其不需要密碼,以及有關將加密背景工作進程認證儲存在登錄中的資訊。 |
Path |
(繼承自 ConfigurationSection .) 金鑰屬性。 |
PingFrequency |
讀取/寫入 datetime 值,指定 ISAPI 延伸模組偵測背景工作進程以判斷進程是否正在執行的時間間隔。 預設值為無限期。如果背景工作進程未在 屬性指定的 PingTimeout 間隔內回應,則會重新開機。 |
PingTimeout |
讀取/寫入 datetime 值,指定停止回應的背景工作進程重新開機之後的時間間隔。 預設值為無限期。ISAPI 擴充功能會在 屬性所 PingFrequency 指定的間隔偵測背景工作進程。 如果背景工作進程未在 屬性指定的 PingTimeout 間隔內回應,則會重新開機。 |
RequestLimit |
讀取/寫入 sint32 值,指定 ASP.NET 自動啟動新的背景工作進程來取代目前要求之前允許的要求數目。 預設為 2147483647。 |
RequestQueueLimit |
讀取/寫入 sint32 值,指定 ASP.NET 傳回訊息 「503 – Server Too Busy」 給新要求之前,佇列中允許的要求數目。 預設值為 5000。 |
ResponseDeadlockInterval |
讀取/寫入 datetime 值,指定當有佇列要求且在指定間隔內沒有回應時,進程就會重新開機的時間間隔。 預設值是 3 分鐘。 |
ResponseRestartDeadlockInterval |
提供回溯相容性的讀取/寫入 datetime 值,指定有佇列要求且在指定間隔內沒有回應時重新開機進程的時間間隔。 預設值是 3 分鐘。
注意: ASP.NET 不再使用此屬性;僅提供回溯相容性。 如果組態檔中已有組態錯誤,這個屬性就不會造成設定錯誤。 屬性 ResponseDeadlockInterval 現在會控制死結進程的重新開機。 |
RestartQueueLimit |
讀取/寫入 sint32 值,指定 IIS 佇列等候背景工作進程在非標準終止後重新開機時所排入的要求數目上限。 此設定不適用於全新關機或標準重新開機。 預設值為 10。 |
SectionInformation |
(繼承自 ConfigurationSection。) |
ServerErrorMessageFile |
讀取/寫入 string 值,指定伺服器意外停止回應時要使用的檔案內容,而不是預設訊息「伺服器無法使用」。 檔案位置相對於Machine.config檔案,也可以是絕對路徑。 如果您未指定這個屬性值,IIS 會使用預設訊息「伺服器無法使用」。 |
ShutdownTimeout |
讀取/寫入 datetime 值,指定背景工作進程關閉所允許的時間量。 預設值是 5 秒。 逾時到期時,ASP.NET 關閉背景工作進程。 |
Timeout |
讀取/寫入 datetime 值,指定 ASP.NET 啟動新的背景工作進程以取代目前背景工作進程之前的分鐘數。 預設值為無限期。 |
UserName |
讀取/寫入 string 值,指定 ASP.NET 將使用不同于預設進程識別的 Windows 身分識別來執行背景工作進程。 預設值為 「Machine」。 根據預設,進程會在安裝 ASP.NET 時自動建立的使用者帳戶和密碼下執行。 使用者帳戶名為 ASPNET,密碼會以密碼編譯方式產生。如果 和 Password 屬性中 UserName 都顯示有效的認證,則會使用指定的帳號執行進程。
UserName如果值為 「System」,且 Password 值為 「AutoGenerate」,則進程會針對使用進程的所有 ASP.NET 程式碼執行完整系統管理許可權。
注意: 此屬性和 Password 屬性的值會以純文字形式儲存在組態檔中。 雖然 IIS 不會傳輸.config檔案以回應使用者代理程式要求,但可以透過其他方式讀取組態檔。 例如,在網域上具有伺服器所需認證的已驗證使用者,可以讀取組態檔。 基於安全性考慮,類別 ProcessModelSection 支援在登錄中儲存加密 UserName 和 Password 屬性。 如需詳細資訊,請參閱 processModel 元素 (ASP.NET 設定架構) 。 |
WebGarden |
讀取/寫入 boolean 值。
true
CpuMask如果 屬性用來指定哪些 CPU 可以執行 ASP.NET 進程,則為 ; false 如果只有一個背景工作進程執行,而且 Windows 作業系統會排程 CPU 使用量,則為 。 預設值為 false。
注意: 多處理器 Web 服務器稱為 Web 樹狀架構。 |
子類別
這個類別不包含子類別。
備註
區 <processModel> 段只能在Machine.config檔案中設定,並影響伺服器上執行的所有 ASP.NET 應用程式。
注意
ProcessModelSection只有在重新開機背景工作進程時,類別的變更才會生效,而不是在設定變更之後立即生效。
下表列出屬性為 true 時 AutoConfig 自動設定的屬性。 For more information, see article 821268, "Contention, poor performance, and deadlocks when you make Web service requests from ASP.NET applications," in the Microsoft Knowledge Base at https://support.microsoft.com.
| 屬性 | Description |
|---|---|
maxWorkerThreads |
指定 ASP.NET 使用之每個 CPU 的背景工作執行緒數目上限。 |
maxIoThreads |
指定每個 CPU ASP.NET 使用的完成執行緒數目上限。 |
minFreeThreads |
對應至 MinFreeThreadsHttpRuntimeSection 類別的 屬性。 |
minLocalRequestFreeThreads |
對應至 MinLocalRequestFreeThreads 類別的 HttpRuntimeSection 屬性。 |
maxConnection |
對應至 MaxConnectionConnectionManagementElement 類別的 屬性。 |
下表列出 屬性的 ComAuthenticationLevel 可能值。 預設值為 2 (Connect) 。
| 值 | 關鍵字 | 描述 |
|---|---|---|
| 0 | None |
不指定驗證。 |
| 1 | Call |
指定當伺服器在每個遠端程序呼叫開始時收到要求時讓 DCOM 驗證用戶端的認證。 |
| 2 | Connect |
指定只有在用戶端建立與伺服器的連線時,DCOM 才會驗證用戶端的認證。 |
| 3 | Default |
指定 DCOM 會使用其標準安全性交涉演算法來判斷驗證層級。 |
| 4 | Pkt |
指定 DCOM 會驗證接收的所有資料都是來自預期的用戶端。 資料包傳輸一律使用 Pkt 驗證。 |
| 5 | PktIntegrity |
指定 DCOM 會驗證並確認用戶端與伺服器之間未傳輸的資料都經過修改。 |
| 6 | PktPrivacy |
指定 DCOM 驗證所有先前層級並加密每個遠端程序呼叫的引數值。 |
下表列出 屬性的 ComImpersonationLevel 可能值。 預設值為 4 (Impersonate) 。
| 值 | 關鍵字 | 描述 |
|---|---|---|
| 0 | Default |
指定 DCOM 會使用其標準安全性交涉演算法來判斷模擬層級。 |
| 1 | Anonymous |
指定用戶端對伺服器為匿名的。 伺服器可以模擬用戶端,但模擬權杖將不會包含任何資訊。
Anonymous.NET Framework 1.1 版不支援。 |
| 2 | Delegate |
指定當伺服器代表用戶端時,伺服器進程可以模擬用戶端的安全性內容。 當伺服器代表用戶端運作時,伺服器進程也可以使用封閉式來對其他伺服器發出撥出電話。 伺服器可以使用其他電腦上的用戶端安全性內容,以取得本機和遠端資源的存取權作為用戶端。 當伺服器在此層級模擬時,模擬權杖可以跨任意數目的電腦界限傳遞。 |
| 3 | Identify |
指定伺服器可以取得用戶端的身分識別。 伺服器可以模擬用戶端以進行存取控制清單 (ACL) 檢查,但它無法以用戶端身分存取系統物件。 |
| 4 | Impersonate |
指定當伺服器代表用戶端時,伺服器進程可以模擬用戶端的安全性內容。 伺服器可以使用這個層級的模擬來存取本機資源,例如檔案。 當伺服器在此層級模擬時,模擬權杖只能跨一部電腦界限傳遞。 |
下表列出 屬性的 LogLevel 可能值。 預設值為 2 (Errors) 。
| 值 | 關鍵字 | 描述 |
|---|---|---|
| 0 | None |
指定不記錄任何事件。 |
| 1 | All |
指定記錄所有的處理序事件。 |
| 2 | Errors |
指定只會記錄非預期的關機、記憶體限制關機和死結關機。 |
繼承階層架構
ProcessModelSection
規格需求
| 類型 | Description |
|---|---|
| Client | - Windows Vista 上的 IIS 7.0 - Windows 7 上的 IIS 7.5 - Windows 8 上的 IIS 8.0 - Windows 10上的 IIS 10.0 |
| 伺服器 | - Windows Server 2008 上的 IIS 7.0 - Windows Server 2008 R2 上的 IIS 7.5 - Windows Server 2012上的 IIS 8.0 - Windows Server 2012 R2 上的 IIS 8.5 - Windows Server 2016上的 IIS 10.0 |
| 產品 | - IIS 7.0、IIS 7.5、IIS 8.0、IIS 8.5、IIS 10.0 |
| MOF 檔案 | WebAdministration.mof |
另請參閱
- ConfigurationSection 類別
- processModel 項目 (ASP.NET 設定結構描述)
- CIM_DATETIME