Architektura aktywacji WAS
W tym temacie opisano i omówiono składniki usługi aktywacji procesów systemu Windows (znanej również jako WAS).
Składniki aktywacji
WAS składa się z kilku składników architektury:
Adaptery odbiornika. Usługi systemu Windows, które odbierają komunikaty na określonych protokołach sieciowych i komunikują się z was w celu kierowania komunikatów przychodzących do prawidłowego procesu roboczego.
ZOSTAŁ. Usługa systemu Windows, która zarządza tworzeniem i okresem istnienia procesów roboczych.
Plik wykonywalny ogólnego procesu roboczego (w3wp.exe).
Menedżer aplikacji. Zarządza tworzeniem i okresem istnienia domen aplikacji hostujących aplikacje w procesie roboczym.
Programy obsługi protokołów. Składniki specyficzne dla protokołu, które są uruchamiane w procesie roboczym i zarządzają komunikacją między procesem roboczym a poszczególnymi kartami odbiornika. Istnieją dwa typy procedur obsługi protokołów: procedury obsługi protokołów przetwarzania i programy obsługi protokołów AppDomain.
Po aktywowaniu wystąpienia procesu roboczego program WAS ładuje procedury obsługi protokołu przetwarzania wymagane do procesu roboczego i używa menedżera aplikacji do utworzenia domeny aplikacji do hostowania aplikacji. Domena aplikacji ładuje kod aplikacji, a także programy obsługi protokołów AppDomain, których wymagają protokoły sieciowe używane przez aplikację.
Adaptery odbiornika
Karty odbiornika to poszczególne usługi systemu Windows, które implementują logikę komunikacji sieciowej używanej do odbierania komunikatów przy użyciu protokołu sieciowego, na którym nasłuchują. W poniższej tabeli wymieniono karty odbiornika dla protokołów programu Windows Communication Foundation (WCF).
Nazwa usługi adaptera odbiornika | Protokół | Uwagi |
---|---|---|
W3SVC | http | Wspólny składnik, który zapewnia aktywację HTTP dla usług IIS 7.0 i WCF. |
NetTcpActivator | net.tcp | Zależy od usługi NetTcpPortSharing. |
NetPipeActivator | net.pipe | |
NetMsmqActivator | Net.msmq | Do użycia z aplikacjami kolejkowania komunikatów opartymi na programie WCF. |
NetMsmqActivator | msmq.formatname | Zapewnia zgodność z poprzednimi wersjami z istniejącymi aplikacjami kolejkowania komunikatów. |
Karty odbiornika dla określonych protokołów są rejestrowane podczas instalacji w pliku applicationHost.config, jak pokazano w poniższym przykładzie XML.
<system.applicationHost>
<listenerAdapters>
<add name="http" />
<add name="net.tcp"
identity="S-1-5-80-3579033775-2824656752-1522793541-1960352512-462907086" />
<add name="net.pipe"
identity="S-1-5-80-2943419899-937267781-4189664001-1229628381-3982115073" />
<add name="net.msmq"
identity="S-1-5-80-89244771-1762554971-1007993102-348796144-2203111529" />
<add name="msmq.formatname"
identity="S-1-5-80-89244771-1762554971-1007993102-348796144-2203111529" />
</listenerAdapters>
</system.applicationHost>
Programy obsługi protokołów
Procedury obsługi protokołów Process i AppDomain dla określonych protokołów są rejestrowane w pliku Web.config na poziomie maszyny.
<system.web>
<protocols>
<add name="net.tcp"
processHandlerType=
"System.ServiceModel.WasHosting.TcpProcessProtocolHandler"
appDomainHandlerType=
"System.ServiceModel.WasHosting.TcpAppDomainProtocolHandler"
validate="false" />
<add name="net.pipe"
processHandlerType=
"System.ServiceModel.WasHosting.NamedPipeProcessProtocolHandler"
appDomainHandlerType=
"System.ServiceModel.WasHosting.NamedPipeAppDomainProtocolHandler"/>
<add name="net.msmq"
processHandlerType=
"System.ServiceModel.WasHosting.MsmqProcessProtocolHandler"
appDomainHandlerType=
"System.ServiceModel.WasHosting.MsmqAppDomainProtocolHandler"
validate="false" />
</protocols>
</system.web>