Dela via


WAS-aktiveringsarkitektur

I det här avsnittet beskrivs komponenterna i Windows Process Activation Service (även kallat WAS).

Aktiveringskomponenter

WAS består av flera arkitektoniska komponenter:

  • Lyssnarkort. Windows-tjänster som tar emot meddelanden i specifika nätverksprotokoll och kommunicerar med WAS för att dirigera inkommande meddelanden till rätt arbetsprocess.

  • VAR. Windows-tjänsten som hanterar skapandet och livslängden för arbetsprocesser.

  • Körbar allmän arbetsprocess (w3wp.exe).

  • Programhanterare. Hanterar skapandet och livslängden för programdomäner som är värdar för program i arbetsprocessen.

  • Protokollhanterare. Protokollspecifika komponenter som körs i arbetsprocessen och hanterar kommunikationen mellan arbetsprocessen och de enskilda lyssnarkorten. Det finns två typer av protokollhanterare: processprotokollhanterare och AppDomain-protokollhanterare.

När WAS aktiverar en arbetsprocessinstans läser den in de processprotokollhanterare som krävs i arbetsprocessen och använder programhanteraren för att skapa en programdomän som värd för programmet. Programdomänen läser in programmets kod samt de AppDomain-protokollhanterare som de nätverksprotokoll som används av programmet kräver.

Screenshot that shows the WAS architecture.

Lyssnarkort

Lyssnarkort är enskilda Windows-tjänster som implementerar nätverkskommunikationslogik som används för att ta emot meddelanden med hjälp av nätverksprotokollet som de lyssnar på. I följande tabell visas lyssnarkorten för WCF-protokoll (Windows Communication Foundation).

Namn på lyssnarkorttjänst Protokoll Kommentar
W3SVC http Gemensam komponent som tillhandahåller HTTP-aktivering för både IIS 7.0 och WCF.
NetTcpActivator net.tcp Beror på tjänsten NetTcpPortSharing.
NetPipeActivator net.pipe
NetMsmqActivator net.msmq För användning med WCF-baserade Message Queuing-program.
NetMsmqActivator msmq.formatname Ger bakåtkompatibilitet med befintliga Message Queuing-program.

Lyssnarkort för specifika protokoll registreras under installationen i filen applicationHost.config, enligt följande XML-exempel.

<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>  

Protokollhanterare

Process- och AppDomain-protokollhanterare för specifika protokoll registreras i web.config-filen på datornivå.

<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>  

Se även