Поделиться через


Архитектура активации WAS

В этом разделе описываются и обсуждаются компоненты службы активации процесса Windows (также известные как WAS).

Компоненты активации

WAS состоит из нескольких архитектурных компонентов:

  • Адаптеры прослушивателя. Службы Windows, которые получают сообщения по определенным сетевым протоколам и взаимодействуют с WAS для маршрутизации входящих сообщений в правильный рабочий процесс.

  • БЫЛ. Служба Windows, управляющая созданием и временем существования рабочих процессов.

  • Исполняемый файл общего рабочего процесса (w3wp.exe).

  • Диспетчер приложений. Управляет созданием и временем существования доменов приложений, в которых размещаются приложения в рабочем процессе.

  • Обработчики протоколов. Компоненты, относящиеся к протоколу, которые выполняются в рабочем процессе и обеспечивают связь между рабочим процессом и отдельными адаптерами прослушивателя. Существуют два типа обработчиков протокола: обработчики протоколов обработки и обработчики протокола AppDomain.

При активации экземпляра рабочего процесса он загружает обработчики протокола процесса, необходимые для рабочего процесса, и использует диспетчер приложений для создания домена приложения для размещения приложения. Домен приложения загружает код приложения, а также обработчики протокола AppDomain, которые требуются сетевым протоколам, используемым приложением.

Снимок экрана: архитектура WAS.

Адаптеры прослушивателя

Адаптеры слушателя — это отдельные службы Windows, которые реализуют логику сетевого взаимодействия для получения сообщений через сетевой протокол, который они слушают. В следующей таблице перечислены адаптеры прослушивателя для протоколов Windows Communication Foundation (WCF).

Имя службы адаптера прослушивателя Протокол Примечания.
W3SVC HTTP Общий компонент, обеспечивающий активацию HTTP для IIS 7.0 и WCF.
NetTcpActivator net.tcp Зависит от службы NetTcpPortSharing.
NetPipeActivator сетевой канал
NetMsmqActivator net.msmq Для использования с приложениями очереди сообщений на основе WCF.
NetMsmqActivator msmq.formatname Обеспечивает обратную совместимость с существующими приложениями очереди сообщений.

Адаптеры прослушивателя для определенных протоколов регистрируются во время установки в файле applicationHost.config, как показано в следующем примере 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>  

Обработчики протоколов

Обработчики протокола Process и AppDomain для определенных протоколов регистрируются в файле Web.config уровня компьютера.

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

См. также