共用方式為


將自訂解析程式新增至 PeerChannel 應用程式

根據預設,PeerChannel 會使用對等名稱解析通訊協定 (PNRP) 對等解析程式服務。不過,可能會因為網路原則或組態而需要實作自訂的對等解析程式服務。下面一節會說明將自訂對等解析程式服務新增到 PeerChannel 應用程式的程序。

自訂對等解析程式

自訂對等解析程式服務屬於單一服務,它會快取 mesh 識別碼和字典中的端點位址,並會回應來自用戶端的註冊、移除註冊及解析要求。Mesh 識別碼預期是唯一的。如果有多個應用程式使用相同的解析程式,它們就應該選擇不同的 mesh 識別碼以避免衝突。

建立和設定自訂對等解析程式

自訂對等解析程式會實作靜態的 main 函式,以便為指定的 CustomPeerResolverService 類型建立 ServiceHost。主機也會負責提供服務主機的起始位址,該位址必須設定在組態檔的應用程式設定中 (其標題通常為 App.config)。

<appSettings>
    <!-- use appSetting to configure base address provided by host -->
    <add key="baseAddress"
     value=" net.tcp://localhost/servicemodelsamples/peerResolverService" />
</appSettings>

自訂對等解析程式會實作 ICustomPeerResolver 合約,此合約會公開 (Expose) RegisterMeshId、UnregisterMeshId 及 ResolveMeshId 作業。用戶端會對指定的作業提出同步要求,服務則會以結果回覆。

服務會公開單一的端點來與服務 (即已使用組態檔定義的服務) 進行通訊。繫結會使用標準的 NetTcpBinding 加以設定以提供 TCP 通訊。

<services>
    <service 
       service="Microsoft.ServiceModel.Samples. CustomPeerResolverService">
       <!-- use base address provided by the host -->
       <endpoint address=""
            binding=" netTcpBinding "
             contract="Microsoft.ServiceModel.Samples. ICustomPeerResolver" />
    </service>
</services>

為了讓遠端電腦上的用戶端存取服務,這時必須指定符合的網域名稱,而不要指定 localhost。

請注意,使用自訂解析程式的用戶端必須設定用戶端伺服器延遲時間的上限,才能順利重新整理用戶端向對等解析程式服務註冊的狀態。

請參閱

概念

擴充 PeerChannel

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.