WAS-activeringsarchitectuur
In dit onderwerp worden de onderdelen van de Windows Process Activation Service (ook wel WAS genoemd) besproken.
Activeringsonderdelen
WAS bestaat uit verschillende architectuuronderdelen:
Listeneradapters. Windows-services die berichten ontvangen op specifieke netwerkprotocollen en communiceren met WAS om binnenkomende berichten door te sturen naar het juiste werkproces.
WAS. De Windows-service waarmee het maken en de levensduur van werkprocessen wordt beheerd.
Het uitvoerbare algemene werkproces (w3wp.exe).
Toepassingsbeheer. Beheert het maken en de levensduur van toepassingsdomeinen die toepassingen hosten binnen het werkproces.
Protocolhandlers. Protocolspecifieke onderdelen die worden uitgevoerd in het werkproces en de communicatie tussen het werkproces en de afzonderlijke listeneradapters beheren. Er bestaan twee typen protocolhandlers: procesprotocolhandlers en AppDomain-protocolhandlers.
Wanneer WAS een exemplaar van een werkproces activeert, worden de procesprotocolhandlers geladen die vereist zijn in het werkproces en wordt de toepassingsbeheerder gebruikt om een toepassingsdomein te maken om de toepassing te hosten. Het toepassingsdomein laadt de code van de toepassing en de AppDomain-protocolhandlers die door de toepassing worden gebruikt.
Listeneradapters
Listener-adapters zijn afzonderlijke Windows-services die de netwerkcommunicatielogica implementeren die wordt gebruikt voor het ontvangen van berichten met behulp van het netwerkprotocol waarop ze luisteren. De volgende tabel bevat de listeneradapters voor WCF-protocollen (Windows Communication Foundation).
Naam van listener-adapterservice | Protocol | Opmerkingen |
---|---|---|
W3SVC | http | Algemeen onderdeel dat HTTP-activering biedt voor zowel IIS 7.0 als WCF. |
NetTcpActivator | net.tcp | Is afhankelijk van de NetTcpPortSharing-service. |
NetPipeActivator | net.pipe | |
NetMsmqActivator | net.msmq | Voor gebruik met OP WCF gebaseerde Message Queuing-toepassingen. |
NetMsmqActivator | msmq.formatname | Biedt compatibiliteit met eerdere versies met bestaande Message Queuing-toepassingen. |
Listeneradapters voor specifieke protocollen worden geregistreerd tijdens de installatie in het bestand applicationHost.config, zoals wordt weergegeven in het volgende XML-voorbeeld.
<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>
Protocolhandlers
Proces- en AppDomain-protocolhandlers voor specifieke protocollen worden geregistreerd in het web.config-bestand op computerniveau.
<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>