Funkce automatického spouštění
Funkce automatické spouštění technologie AppFabric tvoří nadstavbu funkce automatické spouštění Internetové informační služby (IIS) 7.5, která je součástí systémů Windows 7 a Windows Server 2008 R2. Ve službě IIS můžete fond aplikací a některé nebo všechny jeho aplikace nakonfigurovat tak, aby byly automaticky spuštěny při spuštění služby IIS. Funkce automatického spouštění technologie AppFabric rozšiřuje tuto funkci o možnost nakonfigurovat některé nebo všechny služby v rámci aplikace tak, aby byly automaticky spuštěny při spuštění aplikace.
Výhody funkce automatického spouštění
Pokud povolíte funkci automatické spouštění pro službu, bude služba připravena a spuštěna, jakmile bude spuštěna aplikace, do níž patří, a předtím, než služba obdrží od klienta první zprávu služby WCF. Služba tedy první zprávu zpracuje rychle, protože je již inicializovaná. Předpokládejme například, že se služba potřebuje připojit k databázi a přečíst si stovky řádků dat, aby naplnila datovou strukturu ukládání do mezipaměti rozhraní .NET Framework při jejím prvním vytvoření. Služba bude připravena zahájit samotnou operaci až po procesu inicializace, který trvá dlouho. Pokud v tomto případě použijete funkci automatické spouštění, bude služba inicializována ještě dříve, než přijme první volání.
Součást HTTP.SYS služby IIS zpracovává žádosti protokolu HTTP a služba WAS (Aktivační služba procesů systému Windows) zpracovává žádosti protokolu TCP, pojmenovaných kanálů a služby MSMQ pomocí rozšiřujících adaptérů naslouchacího procesu služby WCF, které jsou součástí služby IIS. Adaptér naslouchacího procesu navazuje komunikaci mezi službou WAS a službou používající jiné protokoly než HTTP. Za účelem podpory zpracování zpráv přijatých prostřednictvím jiného protokolu je třeba vyvinout rozšiřující adaptéry naslouchacího procesu nebo jiné podpůrné moduly, což může být složité. Další informace o adaptérech naslouchacího procesu naleznete na stránce Adaptéry naslouchacího procesu (https://go.microsoft.com/fwlink/?LinkId=160359) (stránka může být v angličtině). Pomocí funkce automatické spouštění lze do služby IIS nasadit aplikace podporující libovolný protokol. Pokud pro tyto nasazené aplikace povolíte funkci automatické spouštění, Aktivační služba procesů systému Windows (WAS) je v pracovním procesu aktivuje a udržuje je v aktivním stavu.
Scénáře automatického spouštění
Služby využívající funkci automatického spuštění podporují následující scénáře:
Dojde k restartování počítače, v němž je aplikace nainstalována. Služba IIS a Aktivační služba procesů systému Windows (WAS), fond aplikací, aplikace a služby jsou nakonfigurovány tak, aby se spustily zároveň s počítačem. Pokud dojde k restartování aplikace, budou služby v tomto scénáři automaticky spuštěny. Pokud je aplikace nakonfigurována na automatické spouštění všech služeb, budou automaticky spuštěny všechny služby v rámci aplikace. V opačném případě budou spuštěny pouze služby zadané v souboru Web.config.
Některé protokoly, například oznamovací protokol WS-Discovery, vyžadují, aby byly aplikace neustále k dispozici. Pokud pro aplikaci a služby v rámci této aplikace povolíte funkci automatického spuštění, spustí funkce automatického spuštění technologie Windows Server AppFabric tyto služby automaticky při každém spuštění aplikace obsahující tyto služby.
Fond aplikací, ke kterému služba patří, zjistí v zadaném časovém období nadměrný výskyt pracovních procesů ve špatném stavu a zahájí proces rychlé ochrany před chybami. Funkce automatického spuštění podporuje rychlou ochranu před chybami v případě, že proces v zadaném časovém období selže vícekrát, než bylo nakonfigurováno. Po překročení prahové hodnoty rychlé ochrany před chybami nedojde k restartování aplikace ani jejích služeb.
Scénář restartování počítače
Následující seznam obsahuje typické kroky ukázkového scénáře restartování počítače, který je podporován funkcí automatického spuštění:
Pokud je Aktivační služba procesů systému Windows (WAS) nakonfigurována na automatické spouštění, je spuštěna. Službu WAS lze nakonfigurovat pomocí apletu Služby v Nástrojích pro správu.
Služba WAS spustí všechny fondy aplikací nakonfigurované na automatické spouštění. Atribut startMode je u těchto fondů aplikací nastaven v souboru ApplicationHost.config na hodnotu AlwaysRunning.
<applicationPools> <add name=”MyAppPool” startMode=”AlwaysRunning” /> </applicationPools>
Správce aplikace v rámci služby WAS zavede všechny aplikace nakonfigurované na automatické spouštění. Atribut serviceAutoStartEnabled je pro tyto aplikace nastaven v souboru ApplicationHost.config na hodnotu true.
<sites> <site name="MySite" id="1"> <application path="/" serviceAutoStartEnabled=”true” serviceAutoStartProvider=”Service” serviceAutoStartMode=”All/Custom”> <virtualDirectory path="/" physicalPath="C:\MySite" /> </application> </site> </sites>
Proces inicializace aplikace vyvolá modul funkce automatického spuštění, který spustí služby nakonfigurované na automatické spouštění.
Atribut serviceAutoStartProvider je bod rozšiřitelnosti služby IIS, který lze použít ke spouštění vlastních objektů. Instalační program technologie Windows Server AppFabric nainstaluje poskytovatele služeb a rozšířením schématu služby IIS přidá atribut serviceAutoStartMode.
Pokud je atribut serviceAutoStartMode pro aplikaci nastaven na hodnotu All, spustí se všechny služby v rámci aplikace. Jestliže je atribut serviceAutoStartMode pro aplikaci nastaven na hodnotu Custom, spustí se pouze služby zadané v souboru Web.config.
Modul funkce automatického spuštění použije k zavedení služby hodnotu nastavení relativeVirtualPath. Následující konfigurační fragment je ze souboru Web.config, ve kterém je pro dvě služby nakonfigurováno nastavení relativeVirtualPath. Nastavení relativeVirtualPath služby představuje cestu ke službě vzhledem k aplikaci obsahující tuto službu.
// a sample Web.config fragment with two services configured to use the auto-start feature. <Microsoft.ProcessServer.Hosting> <serviceAutoStart> <add relativeVirtualPath =”/Calendar/Appointments.xamlx” > <add relativeVirtualPath =”/BookStore/ShoppingCart.svc” > </serviceAutoStart> </Microsoft.ProcessServer.Hosting>
Tip
Nastavení automatického spouštění pro služby jsou uložena v souboru Web.config a nastavení funkce automatického spuštění pro fondy aplikací a aplikace jsou uložena v souboru ApplicationHost.config.
Konfigurace automatického spouštění
Funkci automatické spouštění pro službu WCF nebo WF je možné nakonfigurovat pomocí rozšíření Správce služby IIS nebo rutin poskytovaných technologií AppFabric. Podrobné pokyny ke konfiguraci funkce automatické spouštění najdete v tématech Konfigurace automatického spouštění pomocí Správce služby IIS a Konfigurace automatického spouštění pomocí rutin technologie Windows Server AppFabric v sekci Konfigurace automatického spouštění.
Poznámka
Pokud je pro službu povolena funkce automatické spouštění, bude služba IIS ignorovat nastavení Časový limit nečinnosti ve fondu aplikací a v aplikaci využívající daný fond aplikací. Pracovní proces přidružený k fondu aplikací zůstane v paměti i poté, co bude fond aplikací nečinný po dobu delší, než je doba určená nastavením Časový limit nečinnosti.
Upozornění
Pokud je inicializační kód služby napsán neefektivně a inicializace trvá dlouho, může doba pro spuštění služby IIS vypršet a proces bude ukončen v jeho aktuálním stavu. Dobrým řešením návrhu může být použití několika vláken z inicializačního kódu pro službu, pokud je spuštěna v počítačích s více procesory.
Další odkazy
Koncepty
Konfigurace automatického spouštění
2011-12-05