Sdílet prostřednictvím


Element processModel (schéma nastavení ASP.NET)

Konfiguruje nastavení procesního modelu technologie ASP.NET na webovém serveru Internetové informační služby (služba IIS). Oddíl processModel lze nastavit pouze v rámci souboru Machine.config a ovlivňuje všechny aplikace technologie ASP.NET spuštěné na serveru.

Poznámka k upozorněníUpozornění

Změny v prvku processModel se projeví až po restartování pracovního procesu, nikoliv okamžitě po změně nastavení, jak je tomu u ostatních prvků konfigurace.Další informace naleznete v sekci "Poznámky" níže v tématu.

<processModel 
   enable="true|false"
   timeout="hrs:mins:secs|Infinite" 
   idleTimeout="hrs:mins:secs|Infinite"
   shutdownTimeout="hrs:mins:secs|Infinite"
   requestLimit="num|Infinite"
   requestQueueLimit="num|Infinite"
   restartQueueLimit="num|Infinite"
   memoryLimit="percent"
   webGarden="true|false"
   cpuMask="num"
   userName="<username>"
   password="<secure password>"
   logLevel="All|None|Errors"
   clientConnectedCheck="hrs:mins:secs|Infinite"
   comAuthenticationLevel="Default|None|Connect|Call| 
               Pkt|PktIntegrity|PktPrivacy"
   comImpersonationLevel="Default|Anonymous|Identify|
               Impersonate|Delegate"
   responseDeadlockInterval="hrs:mins:secs|Infinite"
   responseRestartDeadlockInterval="hrs:mins:secs|Infinite"
   autoConfig="true|false"
   maxWorkerThreads="num"
   maxIoThreads="num"
   minWorkerThreads="num"
   minIoThreads="num"
   serverErrorMessageFile="" 
   pingFrequency="Infinite" 
   pingTimeout="Infinite" 
   maxAppDomains="2000"
/>

Atributy a prvky

Následující části popisují atributy, podřízené prvky a rodičovské prvky.

v případě vícehodnotových atributů

Atribut

Popis

autoConfig

Určuje, zda se má automaticky nakonfigurovat následující nastavení pro dosažení optimálního výkonu na základě konfigurace počítače:

Hodnoty jsou stanoveny podle článku KB na https://support.microsoft.com/?id=821268.

Tento atribut nemá vliv na klientské aplikace rozhraní .NET Framework. Má vliv pouze na aplikace technologie ASP.NET.

autoConfig Atribut může nabývat následujících hodnot.

TermínDefinice
True Označuje, že technologie ASP.NET automaticky konfiguruje atributy v předchozím seznamu k dosažení optimálního výkonu na základě konfigurace počítače.
False Označuje, že by technologie ASP.NET měla používat explicitně definované hodnoty atributů v předchozím seznamu.

Výchozí nastavení v souboru Machine.config je True, pokud neexistuje dřívější konfigurace.

clientConnectedCheck

Určuje, jak dlouho je žádost ponechána ve frontě, než technologie ASP.NET provede kontrolu, zda je klient připojen.

Výchozí hodnota je "00:00:05" (5 sekund).

comAuthenticationLevel

Určuje úroveň ověřování pro zabezpečení modelu DCOM.

Atribut comAuthenticationLevel se může rovnat jedné z následujících hodnot.

HodnotaPopis
Call Určuje, že model DCOM ověří pověření klienta, jakmile server obdrží žádost na začátku každého vzdáleného volání procedur.
Connect Označuje, že model DCOM ověří pověření klienta pouze v případě, když klient vytvoří připojení k serveru.
Default Označuje, že model DCOM určí úroveň ověřování pomocí svého algoritmu pro vyjednávání standardního zabezpečení.
None Bez ověřování.
Pkt Určuje, že model DCOM ověří, zda všechna přijímaná data pochází od očekávaného klienta.Přenosy datagramů vždy používají ověřování Pkt.
PktIntegrity Určuje, že model DCOM neověřuje a neverifikuje žádná data, která jsou přenášena mezi klientem a serverem, jestli byla upravena.
PktPrivacy Určuje, že model DCOM ověří všechny předchozí úrovně a šifruje hodnotu argumentu každého vzdáleného volání procedur.

Výchozí hodnota je Connect.

comImpersonationLevel

Určuje úroveň ověřování pro zabezpečení modelu COM.

comImpersonationLevel Atribut může nabývat následujících hodnot.

HodnotaPopis
Anonymous Určuje, že klient je vůči serveru anonymní.Server může zosobnit klienta, ale token zosobnění nebude obsahovat žádné informace.Anonymous v rozhraní .NET Framework verze 1.1 není podporován.
Default Označuje, že model DCOM určí úroveň zosobnění pomocí svého algoritmu pro vyjednávání standardního zabezpečení.
Delegate Určuje, že proces serveru může zosobnit rámec zabezpečení pro klienta během jednání jménem klient.Serverový proces může také provést odchozí volání na jiné servery, při jednají jménem klientů, pomocí maskování.Server může použít kontext zabezpečení pro klienta na jiných počítačích pro získání přístupu k místním a vzdáleným prostředkům stejně jako klient.Při zosobnění na této úrovni, může být token zosobnění předán přes libovolný počet hranic počítačů.
Identify Určuje, že server může získat identitu klienta.Server může zosobnit klienta pro kontrolu seznamu řízení přístupu (seznam ACL) , ale nemůže přistupovat k systémovým objektům jako klient.
Impersonate Určuje, že proces serveru může zosobnit rámec zabezpečení pro klienta během jednání jménem klient.Tuto úroveň zosobnění lze použít pro přístup k místním prostředkům, jako jsou například soubory.Při zosobnění na této úrovni, může být token zosobnění předán pouze přes jednu hranici počítače.

Výchozí hodnota je Impersonate.

cpuMask

Určuje, které procesory (CPU) na serveru s více procesory jsou kvalifikovány pro spouštění procesů technologie ASP.NET. Tato hodnota určuje bitový vzor, který označuje procesory, které jsou kvalifikovány pro spouštění vláken technologie ASP.NET. Například šestnáctková hodnota cpuMask 0x0d představuje bitový vzor 1101. V počítači se čtyřmi procesory to znamená, že procesy technologie ASP.NET mohou být naplánovány na procesorech 0, 2 a 3, ale nikoli na procesoru 1. Technologie ASP.NET spustí pro každý kvalifikovaný procesor jeden pracovní proces. Pokud je atribut webGarden roven true, omezuje tento atribut pracovní procesy na počet kvalifikovaných procesorů. Maximum pro pracovní procesy se rovná počtu procesorů. Pokud je webGarden rovno false, je tento atribut ignorován a bude spuštěn pouze jeden pracovní proces. Toto je výchozí chování.

Výchozí hodnota je "0xffffffff".

enable

Určuje, zda je povolen model procesu.

enable Atribut může nabývat následujících hodnot.

HodnotaPopis
True Označuje, že model procesu je povolen.
False Označuje, že model procesu není povolen.

Výchozí hodnota je true.

idleTimeout

Určuje interval nečinnosti ve formátu řetězce hod:min:sek, po jehož uplynutí technologie ASP.NET automaticky ukončí pracovní proces.

Výchozí hodnota je Infinite.

logLevel

Určuje typy událostí, které se mají zaznamenat do záznamu událostí.

logLevel Atribut může nabývat následujících hodnot.

HodnotaPopis
All Určuje, že jsou protokolovány všechny události procesu.
Errors Určuje, že jsou zaznamenány pouze neočekávaná vypnutí počítače, vypnutí kvůli limitu paměti a vypnutí z důvodu vzájemného zablokování.
None Určuje, že nejsou protokolovány žádné události.

Výchozí hodnota je Errors.

maxAppDomains

Určuje maximální počet domén aplikací, které jsou povoleny v jednom procesu.

Tento atribut může být menší nebo roven 2000.

Výchozí hodnota je 2000.

maxIoThreads

Konfiguruje maximální počet vstupně-výstupních vláken pro proces na jednom procesoru. Je-li tato hodnota například 25 na serveru s jedním procesorem, použije technologie ASP.NET rozhraní API běhového prostředí pro nastavení limitu procesu na 25. Na serveru se dvěma procesory je limit nastaven na 50. Hodnota tohoto atributu musí být rovna nebo být větší než nastavení atributu minFreeThread oddílu konfigurace httpRuntime.

Informace o podprocesu typy v "Vysvětlit zřetězení" v zlepšení prostředí ASP.NETTO výkon.

Rozsah pro tento atribut je od 5 do 100.

Výchozí hodnota je 20.

maxWorkerThreads

Konfiguruje maximální počet pracovních vláken pro proces na jednom procesoru. Je-li tato hodnota například 25 na serveru s jedním procesorem, použije technologie ASP.NET rozhraní API běhového prostředí pro nastavení limitu procesu na 25. Na serveru se dvěma procesory je limit nastaven na 50. Hodnota tohoto atributu musí být rovna nebo být větší než nastavení atributu minFreeThread oddílu konfigurace httpRuntime.

Informace o podprocesu typy v "Vysvětlit zřetězení" v zlepšení prostředí ASP.NETTO výkon.

Rozsah pro tento atribut je od 5 do 100.

Výchozí hodnota je 20.

memoryLimit

Určuje maximální povolenou velikost paměti jako procento celkové paměti systému, kterou může pracovní proces spotřebovat před spuštěním nového procesu technologií ASP.NET a opětovným přiřazením existujících požadavků.

Výchozí hodnota je 60.

minIoThreads

Konfiguruje minimální počet vstupně-výstupních vláken pro proces na jednom procesoru. Viz také maxIoThreads.

Informace o podprocesu typy v "Vysvětlit zřetězení" v zlepšení prostředí ASP.NETTO výkon.

Výchozí hodnota je 1.

minWorkerThreads

Konfiguruje minimální počet pracovních vláken pro proces na jednom procesoru. Viz také maxWorkerThreads.

Informace o threading typy "Vysvětlit zřetězení" v zlepšení prostředí ASP.NETTO výkon.

Výchozí hodnota je 1.

password

Způsobí, že pokud je k dispozici (a ve spojení s userName), běží pracovní proces s konfigurovanou identitou systému Windows. userName obsahuje další informace o speciálních názvech System a Machine, které nevyžadují heslo a informace o ukládání zašifrovaných pověření pracovního procesu do registru.

PoznámkaPoznámka
Existují rizika zabezpečení spojená s ukládáním pověření do konfiguračního souboru.Další informace naleznete v tématu "Ukládání uživatelských jmen a hesel do registrů" dále v tomto dokumentu.

Výchozí hodnota je AutoGenerate.

pingFrequency

Určuje časový interval ve standardním formátu modelu procesu (hod:min:sek), ve kterém rozšíření ISAPI zavolá příkaz ping na proces pro zjištění, zda běží. Pokud není spuštěn pro interval pingTimeout, je pracovního proces restartován.

Výchozí hodnota je Infinite.

pingTimeout

Určuje časový interval, ve standardním formátu modelu zpracování (hod:min:sek), po který poslouchající pracovní proces neodpovídá, je restartován. Rozšíření ISAPI spouští příkaz ping na pracovním procesu v intervalu pingFrequency. Pokud pracovní proces neodpoví v rámci intervalu pingTimeout, je proces restartován.

Výchozí hodnota je Infinite.

requestLimit

Určuje počet požadavků, který je povolen předtím, než technologie ASP.NET automaticky spustí nový pracovní proces na místo stávajícího.

Výchozí hodnota je Infinite.

requestQueueLimit

Určuje počet požadavků, které jsou povoleny ve frontě před vrácením zprávy technologie ASP.NET „503 – Server je zaneprázdněn" pro nové požadavky.

Výchozí hodnota je 5000.

responseDeadlockInterval

Určuje časový interval ve standardním formátu modelu procesu (hod:min:sec), po jehož uplynutí je proces restartování, pokud jsou splněny následující podmínky:

  • Požadavky jsou ve frontě.

  • Nedošlo k odpovědi během tohoto intervalu.

Výchozí hodnota je "0:03:00" (3 minutes).

responseRestartDeadlockInterval

Tento atribut technologie ASP.NET již nepoužívá a je pouze zajištěna kompatibilita. Nezpůsobí to chybu konfigurace, pokud již existuje v konfiguračním souboru. Všechny recyklace v události podmínky vzájemného zablokování jsou nyní řízeny pomocí atributu responseDeadlockInterval.

Výchozí hodnota je "0:03:00" (3 minutes).

restartQueueLimit

Určuje maximální počet požadavků, které jsou uloženy ve frontě při čekání na restartování pracovního procesu po jeho nestandardním ukončení. Toto nastavení nebude použito v případě standardního vypnutí nebo standardního restartování.

Výchozí hodnota je 10.

serverErrorMessageFile

Určuje obsah souboru pro použití namísto výchozí zprávy "Server nedostupný" v případě závažné chyby. Umístění souboru je relativní vzhledem k souboru Machine.config nebo může být absolutní. Pokud není tento atribut k dispozici, je použita výchozí zpráva "Server nedostupný".

shutdownTimeout

Určuje počet minut, které jsou povoleny pro pracovní proces na ukončení. Po vypršení časového limitu, technologie ASP.NET vypne pracovní proces. Čas je vyjádřen ve formátu řetězce hod:min:sek.

Výchozí hodnota je "0:00:05" (5 sekund).

timeout

Určuje počet minut, než technologie ASP.NET spustí nový pracovní proces, který nahradí stávající.

Výchozí hodnota je Infinite.

userName

Určuje, že technologie ASP.NET spustí pracovní proces s identitou systému Windows, která je odlišná od výchozí identity procesu. Ve výchozím je tento atribut nastaven na hodnotu Machine a proces je spuštěn pod uživatelským účtem s názvem ASPNET, který je vytvořen automaticky při instalaci technologie ASP.NET. Heslo pro účet ASPNET je kryptograficky generováno v době instalace. Pokud jsou přítomná platná pověření a atribut password, je proces spuštěn pomocí daného účtu. Jediná jiná hodnota pro userName je System s heslem AutoGenerate, která spustí proces pod účtem správce a umožňuje veškerému kódu uživatele technologie ASP.NET, který běží pod procesem, mít úplná administrátorská oprávněními. Informace o použití technologie ASP.NET na serveru, který je řadič domény, naleznete v části "Poznámky" dále v tomto tématu.

PoznámkaPoznámka
Tento atribut a atribut password je uložen ve formátu prostého textu v konfiguračním souboru.Ačkoli Internetová informační služba (služba IIS) neodesílá soubory .config v odpovědi na žádost agenta uživatele, mohou být konfigurační soubory čteny jinými prostředky.Například může být konfigurační soubor čten ověřeným uživatelem s řádným pověřením na doméně serveru.Z bezpečnostních důvodů podporuje oddíl processModel ukládání šifrovaných atributů userName a password v registru. Pověření musí být ve formátu REG_BINARY a šifrováno pomocí šifrovacích funkcí Data Protection API (DPAPI) systému Windows 2000 a Windows XP.Další informace naleznete v tématu "Ukládání uživatelských jmen a hesel do registrů" dále v tomto dokumentu.

Výchozí hodnota je "machine".

webGarden

Řídí spřažení procesoru při použití ve spojení s atributem cpuMask. (Víceprocesorový webový server se nazývá webová zahrada).

webGarden Atribut může nabývat následujících hodnot.

HodnotaPopis
True Označuje, že atribut cpuMask slouží k určení, které procesory jsou kvalifikovány ke spouštění procesů technologie ASP.NET.
False Označuje, že využití procesoru je plánováno operačním systémem Windows.Atribut cpuMask je ignorován a je spuštěn pouze jeden pracovní proces.

Výchozí hodnota je False.

Podřízené prvky

Žádný

Nadřazené prvky

Prvek

Popis

system.web

Určuje kořenový element sekce konfigurace ASP.NET a obsahuje prvky, které konfigurují webové aplikace ASP.NET a řídí jejich chování.

Poznámky

Konfigurační systém spravovaného kódu nečte nastavení konfigurace processModel . Místo toho je konfigurační nastaveníprocessModel čteno přímo nespravovanou knihovnou DLL aspnet_isapi.dll. Změny v této sekci se neprojeví, dokud není restartován pracovní proces služby IIS.

Pokud technologie ASP.NET pracuje pod službou IIS verze 6 v nativním režimu, je použit model služby IIS 6 a některé atributy v oddílu processModel jsou ignorovány. Avšak nadále jsou aplikovány následující atributy:

  • autoConfig

  • maxIoThreads

  • maxWorkerThreads

  • minIoThreads

  • minWorkerThreads

  • requestQueueLimit

  • responseDeadlockInterval

Informace o modelu zpracování IIS 7 Nastavení modelu procesu pro fond aplikací.

Chcete-li konfigurovat identitu procesu, cyklické nebo jiné hodnoty modelu procesu ve službě IIS 6.0, použijte rozhraní Správce Služeb Internetu pro konfiguraci pracovního procesu služby IIS vaší aplikace.

PoznámkaPoznámka

Technologii ASP.NET 2.0 nebude možné použít v případě, nakonfigurujete-li IIS 6 pro spuštění technologie ASP.NET v režimu izolace služby IIS 5.0.

Časové hodnoty jsou ve formátu "hodiny:minuty:sekundy". Pokud je uvedeno jediné číslo bez dvojtečky, považuje se hodnota za minuty. Proto timeout="4" je rovno timeout="00:04:00".

Pokud aplikace technologie ASP.NET způsobí restartování pracovního procesu technologie ASP.NET (aspnet_wp.exe v systému Windows 2000 a Windows XP Professional a w3wp.exe v systému Windows Server 2003) s chybovou zprávou oznamující, že restartování bylo způsobeno kvůli podezření ze vzájemného zablokování, měli byste zvýšit atribut responseDeadlockInterval.

Řadiče domén a místní účet ASPNET

Pokud nainstalujete rozhraní .NET Framework verze 1.1 na řadiči domény, nevytvoří instalace místní účet ASPNET. Místo toho jsou aplikace technologie ASP.NET spuštěny pod jinými identitami takto:

  • V řadičích domény se systémem Windows 2000 Server běží aplikace technologie ASP.NET pod identitou IWAM_machinename.

  • V řadičích domén se systémem Windows Server 2003 běží aplikace technologie ASP.NET pod identitou NETWORK SERVICE, bez ohledu na režim izolace služby IIS.

Za určitých okolností vyžaduje doménový řadič pro běh technologie ASP.NET zvláštní kroky ke zvládnutí správné funkce instalace. Další informace o spuštění.Přejít na rozhraní .NET Framework verze 1.1 v řadiči domény vyhledávací stránka Knowledge Base (KB) a naleznete v článku Q824308 "účtu IWAM není uděleno oprávnění zosobnit ASP.NET 1.1 na řadič domény systému Windows 2000 s aktualizací SP4." Další informace o spuštění.NET Framework verze 1.0 na řadiči domény, přejděte vyhledávací stránka Knowledge Base (KB) a naleznete v článku Q315158 "ASP.NET nefunguje s výchozím účtem ASPNET v řadiči domény."

Ukládání jména uživatele a hesla do registru

Chcete-li zašifrovat uživatelské jméno a heslo a uložit je do registru, nastavte atributy userName a password, jak je znázorněno v následujícím příkladu.

   userName="registry:HKLM\Software\AspNetProcess,Name"
   password="registry:HKLM\Software\AspNetProcess,Pwd"

Část řetězce po klíčovém slovu registry a před čárkou (,) označuje název klíče registru, který technologie ASP.NET otevře. Část za čárkou (,) obsahuje název jedné řetězcové hodnoty, ze které technologie ASP.NET čte pověření. Čárka (,) je požadována a pověření musí být uloženo v podregistru HKLM. Pokud není formát konfigurace správný, nespustí technologie ASP.NET pracovní proces a bude přejde na cestu s chybou kódu aktuálního účtu.

Pověření musí být ve formátu REG_BINARY, obsahující výstup volání funkce CryptProtectData rozhraní API systému Windows. Můžete použít Aspnet_setreg.exe pro vytvoření šifrovaných pověření a jejich uložení do registru. Aspnet_setreg.exe používá pro šifrování CryptProtectData. Chcete-li stáhnout aplikaci Aspnet_setreg.exe společně s Microsoft Visual C++ zdrojový kód a dokumentace, přejděte ASP.NET webu a vyhledejte řetězec "aspnet_setreg".

Je třeba nakonfigurovat přístup ke klíči, který ukládá šifrovaná pověření tak, že jsou přístupná pouze pro Administrators a SYSTEM. Protože je klíč čten procesem technologie ASP.NET běžícím jako SYSTEM, nastavte následující oprávnění:

Administrators:F
SYSTEM:F
CREATOR OWNER:F 
ProcessAccount: R

Toto pomáhá chránit data následujícími způsoby:

  • Oprávnění ACL vyžadují, aby identita, která přistupuje k datům, byla správce.

  • Útočník musí spustit kód na serveru (CryptUnprotectData) pro zotavení pověření pro účet.

Výchozí konfigurace

Následující výchozí element processModel není explicitně nakonfigurován v souboru Machine.config nebo v kořenovém souboru web.config. To je však výchozí konfigurace, kterou vrací aplikace.

<processModel 
   enable="true" 
   timeout="Infinite" 
   idleTimeout="Infinite" 
   shutdownTimeout="00:00:05" 
   requestLimit="Infinite" 
   requestQueueLimit="5000" 
   restartQueueLimit="10" 
   memoryLimit="60" 
   webGarden="false" 
   cpuMask="0xffffffff" 
   userName="machine" 
   password="AutoGenerate" 
   logLevel="Errors" 
   clientConnectedCheck="00:00:05" 
   comAuthenticationLevel="Connect" 
   comImpersonationLevel="Impersonate" 
   responseDeadlockInterval="00:03:00" 
   responseRestartDeadlockInterval="00:03:00" 
   autoConfig="true" 
   maxWorkerThreads="20" 
   maxIoThreads="20" 
   minWorkerThreads="1" 
   minIoThreads="1" 
   serverErrorMessageFile="" 
   pingFrequency="Infinite" 
   pingTimeout="Infinite" 
   asyncOption="20" 
   maxAppDomains="2000" 
/>

Následující výchozí element processModel je konfigurován v souboru Machine.config v rozhraních .NET Framework verze 1.0 a 1.1.

<processModel
   enable="true"
   timeout="Infinite"
   idleTimeout="Infinite"
   shutdownTimeout="0:00:05" 
   requestLimit="Infinite" 
   requestQueueLimit="5000" 
   restartQueueLimit="10"
   memoryLimit="60" 
   webGarden="false"
   cpuMask="0xffffffff"
   userName="machine"
   password="AutoGenerate"
   logLevel="Errors"
   clientConnectedCheck="0:00:05"
   comAuthenticationLevel="Connect"
   comImpersonationLevel="Impersonate"
   responseRestartDeadlockInterval="00:09:00"
   responseDeadlockInterval="00:03:00" 
   <!-- In the .NET Framework version 1.1, the next two attributes are
        set to 20. -->
   maxWorkerThreads="25"
   maxIoThreads="25"
        />

Informace prvku

Obslužná rutina konfiguračního oddílu

ProcessModelSection

Konfigurační člen

ProcessModel

Konfigurovatelná umístění

Machine.config

Požadavky

Microsoft Internet Information Services (IIS) 5.0, 5.1 nebo 6.0

.NET Framework, verze 1.0, 1.1 nebo 2.0

Microsoft Visual Studio 2003 nebo Visual Studio 2005

Viz také

Úkoly

Postup: Konfigurace specifických adresářů pomocí nastavení místa

Postupy: Uzamknutí nastavení konfigurace technologie ASP.NET

Odkaz

Element system.web (schéma nastavení ASP.NET)

Element configuration (schéma obecného nastavení)

System.Configuration

System.Web.Configuration

ProcessModel

ProcessModelSection

Koncepty

Konfigurace identita procesu technologie ASP.NET

Hierarchie a dědičnost konfiguračních souborů technologie ASP.NET

Zabezpečení konfigurace technologie ASP.NET

Scénáře konfigurace technologie ASP.NET

Další zdroje

Obecné nastavení konfigurace (technologie ASP.NET)

Zlepšení prostředí ASP.NETTO výkon

Nastavení konfigurace ASP.NET

Správa webu ASP.NET

Konfigurační soubory technologie ASP.NET

Rozhraní API konfigurace technologie ASP.NET