將自訂解析程式新增至 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。
請注意,使用自訂解析程式的用戶端必須設定用戶端伺服器延遲時間的上限,才能順利重新整理用戶端向對等解析程式服務註冊的狀態。
請參閱
概念
Copyright © 2007 by Microsoft Corporation. All rights reserved.