設定用於 Windows Communication Foundation 的 Windows Process Activation Service

本主題說明設定 Windows Vista 中 Windows Process Activation Service (亦稱為 WAS) 來裝載無法透過 HTTP 網路通訊協定進行通訊的 Windows Communication Foundation (WCF) 服務時所需的步驟。下列各節將概述此組態的各項步驟:

  • 安裝 (或確認安裝) 所需的 WCF 啟動元件。
  • 運用您希望使用的網路通訊協定繫結來建立 WAS 網站,或是將新通訊協定繫結新增至現有網站。
  • 建立應用程式來裝載服務,並啟用該應用程式來使用所需的網路通訊協定。
  • 建置可公開非 HTTP 端點的 WCF 服務。

使用非 HTTP 繫結來設定網站

若要以非 HTTP 繫結來搭配 WAS 一起使用,必須將網站繫結新增至 WAS 組態。WAS 的組態存放區就是 applicationHost.config 檔 (位於 %windir%\system32\inetsrv\config 目錄)。這個組態存取區可由 WAS 和 IIS 7.0 同時共用。

applicationHost.config 是一個可使用任何標準文字編輯器 (例如 [記事本]) 來開啟的 XML 文字檔。但是,我們建議您使用 IIS 7.0 命令列組態工具 (appcmd.exe) 來新增非 HTTP 的網站繫結。

下列命令會使用 appcmd.exe 將 net.tcp 網站繫結新增至預設的網站 (此命令需以單行方式輸入)。

appcmd.exe set site "Default Web Site" -+bindings.[protocol='net.tcp',bindingInformation='808:*']

此命令會將下列所示字行新增至 applicationHost.config 檔,以將新的 net.tcp 繫結新增至預設的網站。

<sites>
    <site name="Default Web Site" id="1">
        <bindings>
            <binding protocol="HTTP" bindingInformation="*:80:" />
            //The following line is added by the command.
            <binding protocol="net.tcp" bindingInformation="808:*" />
        </bindings>
    </site>
</sites>

啟用應用程式來使用非 HTTP 通訊協定

您可以在應用程式層級啟用或停用個別的網路通訊協定。下列命令說明如何針對在 Default Web Site 中執行的應用程式同時啟用 HTTP 和 net.tcp 通訊協定。

appcmd.exe set app "Default Web Site/appOne" /enabledProtocols:net.tcp

您也可以透過網站 XML 組態 (儲存於 ApplicationHost.config 檔) 的 <applicationDefaults> 項目來設定啟用的通訊協定清單。

下列來自 applicationHost.config 的 XML 程式碼說明同時繫結至 HTTP 和非 HTTP 通訊協定的網站。支援非 HTTP 通訊協定所需的額外組態可以藉由註解來呼叫。

<sites>
    <site name="Default Web Site" id="1">
    <application path="/">
        <virtualDirectory path="/" physicalPath="D:\inetpub\wwwroot" />
    </application>
       <bindings>
            //The following two lines are added by the command.
            <binding protocol="HTTP" bindingInformation="*:80:" />
            <binding protocol="net.tcp" bindingInformation="808:*" />
       </bindings>
    </site>
    <siteDefaults>
        <logFile 
        customLogPluginClsid="{FF160663-DE82-11CF-BC0A-00AA006111E0}"
          directory="D:\inetpub\logs\LogFiles" />
        <traceFailedRequestsLogging 
          directory="D:\inetpub\logs\FailedReqLogFiles" />
    </siteDefaults>
    <applicationDefaults 
      applicationPool="DefaultAppPool" 
      //The following line is inserted by the command.
      enabledProtocols="http, net.tcp" />
    <virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>

針對非 HTTP 啟動建置使用 WAS 的 WCF 服務

一旦您執行了安裝與設定 WAS (如先前所述) 的步驟,針對啟動設定服務來使用 WAS,與設定 IIS 裝載的服務很類似。

如需建置 WAS 啟動之 WCF 服務的詳細資訊,請參閱 HOW TO:在 WAS 中裝載 WCF 服務

請參閱

概念

在 Windows Process Activation Service 中裝載