Delen via


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.

Screenshot that shows the WAS architecture.

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>  

Zie ook