Sdílet prostřednictvím


Webhosting frontové aplikace

Služba aktivace procesu systému Windows (WAS) spravuje aktivaci a životnost pracovních procesů, které obsahují aplikace, které hostují služby Wcf (Windows Communication Foundation). Procesový model WAS generalizuje model procesu SLUŽBY IIS 6.0 pro server HTTP odebráním závislosti na protokolu HTTP. To umožňuje službám WCF používat protokoly HTTP i jiné protokoly než HTTP, například net.msmq a msmq.formatname, v hostitelském prostředí, které podporuje aktivaci na základě zpráv a nabízí možnost hostovat velký počet aplikací na daném počítači.

WAS obsahuje aktivační službu služby Řízení front zpráv (MSMQ), která aktivuje aplikaci ve frontě, když je jedna nebo více zpráv umístěna v jedné z front používaných aplikací. Aktivační služba MSMQ je služba NT, která se ve výchozím nastavení automaticky spouští.

Další informace o WAS a jejích výhodách naleznete v tématu Hostování ve službě aktivace procesu systému Windows. Další informace o MSMQ naleznete v tématu Přehled front.

Adresování front ve WAS

Aplikace WAS mají adresy URI (Uniform Resource Identifier). Adresy aplikací mají dvě části: předponu základního identifikátoru URI a relativní adresu (cestu) specifickou pro aplikaci. Tyto dvě části poskytují externí adresu aplikace při spojení. Předpona základního identifikátoru URI je vytvořena z vazby webu a používá se pro všechny aplikace v rámci webu, například net.msmq://localhost, msmq.formatname://localhost nebo net.tcp://localhost. Adresy aplikací se pak vytvářejí tak, že převezmou fragmenty cest specifické pro aplikaci (například /applicationOne) a připojíte je k předponě základního identifikátoru URI, aby se dostaly k úplnému identifikátoru URI aplikace, například net.msmq://localhost/applicationOne.

Aktivační služba MSMQ používá identifikátor URI aplikace k porovnání fronty, kterou musí aktivační služba MSMQ monitorovat pro zprávy. Když se spustí aktivační služba MSMQ, vytvoří výčet všech veřejných a privátních front v počítači, ze které je nakonfigurovaný tak, aby přijímal zprávy a monitoroval je. Každých 10 minut služba aktivace MSMQ aktualizuje seznam front, které se mají monitorovat. Když se ve frontě najde zpráva, služba aktivace odpovídá názvu fronty k nejdelšímu odpovídajícímu identifikátoru URI aplikace pro vazbu net.msmq a aktivuje aplikaci.

Poznámka:

Aktivovaná aplikace se musí shodovat s předponou názvu fronty (nejdelší shoda).

Například název fronty je msmqWebHost/orderProcessing/service.svc. Pokud má aplikace 1 virtuální adresář /msmqWebHost/orderProcessing se službou.svc a aplikace 2 má virtuální adresář /msmqWebHost s pod ním orderProcessing.svc, aplikace 1 je aktivována. Pokud se aplikace 1 odstraní, aktivuje se aplikace 2.

Poznámka:

Při vytvoření fronty se všechny zprávy odeslané do ní neaktivují, dokud aktivační služba MSMQ neaktualizuje seznam front, což je nejvýše 10 minut od okamžiku vytvoření fronty. Restartováním aktivační služby se aktualizuje také seznam front.

Účinek soukromých a veřejných front na adresování

Aktivační služba MSMQ nerozlišuje mezi monitorováním privátní a veřejné fronty. Proto nemůžete mít veřejné a soukromé fronty se stejným názvem. Pokud to uděláte, aplikace hostovaná na webu se může aktivovat čtení z některé z front.

Konfigurace fronty pro aktivaci

Aktivační služba MSMQ běží jako SÍŤOVÁ SLUŽBA. Je to služba, která monitoruje fronty k aktivaci aplikací. Aby mohla aktivovat aplikace z fronty, musí fronta poskytovat přístup k síti, aby mohla zobrazit náhled zpráv v seznamu řízení přístupu (ACL).

Jedovaté zasílání zpráv

Zpracování otrávených zpráv ve WCF zpracovává kanál, který nejen zjistí, že je zpráva otrávená, ale vybere dispozici na základě konfigurace uživatele. V důsledku toho je ve frontě jedna zpráva. Aplikace hostovaná na webu přeruší po sobě a zpráva se přesune do fronty opakování. V bodě diktovaném zpožděním cyklu opakování se zpráva přesune z fronty opakování do hlavní fronty a zkusí to znovu. To ale vyžaduje, aby byl kanál zařazený do fronty aktivní. Pokud aplikace recykluje WAS, zůstane zpráva ve frontě opakování, dokud do hlavní fronty nepřirazí další zpráva, aby se aktivovala aplikace ve frontě. Alternativním řešením v tomto případě je ruční přesunutí zprávy z fronty opakování zpět do hlavní fronty pro opětovnou aktivaci aplikace.

Dílčí fronta a systémová fronta – upozornění

Aplikaci hostovanou službou WAS nelze aktivovat na základě zpráv v systémové frontě, jako je fronta nedoručených zpráv celého systému nebo dílčí fronty, jako jsou například podřízené fronty. Toto omezení platí pro tuto verzi produktu.

Viz také