探索版本控制
本主題簡要概述部分新探索功能的實作, 同時也概要說明如何選取要使用的探索版本。
探索版本控制
探索功能包括支援三種版本的 WS_Discovery 通訊協定。 探索 API 可讓您選取要使用的通訊協定版本。 本文件簡要描述與版本控制相關的設定。
下列探索類別現在具有 DiscoveryVersion 屬性,並且會在其建構函式中採用 DiscoveryVersion 引數:
DiscoveryVersion.WSDiscoveryApril2005
若提供 WSDiscoveryApril2005 作為建構函式參數,會使實作使用 April2005 版的 WS-Discovery 通訊協定。 這個版本對應至所發行的 WS-Discovery 通訊協定規格版本。 請使用這個版本與採用 April2005 版 WS-Discovery 的舊版應用程式交互操作。
DiscoveryVersion.WSDiscovery11
API 所使用的預設探索版本是 WSDiscovery11。 這是最新的標準版 WS-Discovery 通訊協定。
DiscoveryVersion.WSDiscoveryCD1
若提供 WSDiscoveryCD1 做為建構函式參數,會使實作使用 WS-Discovery 通訊協定的 Committee Draft 1 版。 請使用這個版本的通訊協定與執行 CD1 版 WS-Discovery 的實作交互操作。
支援在單一服務主機上進行不同探索版本的多個 UDP 探索端點
您可以在單一服務主機上公開多個不同探索版本的 UDP 探索端點。 若要這麼做,您必須為每個 UDP 探索端點指定一個唯一位址。 下列範例顯示如何執行這項工作。
UdpDiscoveryEndpoint newVersionUdpEndpoint = new UdpDiscoveryEndpoint(DiscoveryVersion.WSDiscovery11);
UdpDiscoveryEndpoint oldVersionUdpEndpoint = new UdpDiscoveryEndpoint(DiscoveryVersion.WSDiscoveryApril2005);
newVersionUdpEndpoint.Address = new EndpointAddress(newVersionUdpEndpoint.Address.Uri.ToString() + "/version11");
oldVersionUdpEndpoint.Address = new EndpointAddress(oldVersionUdpEndpoint.Address.Uri.ToString() + "/versionApril2005");
serviceHost.AddServiceEndpoint(newVersionUdpEndpoint);
serviceHost.AddServiceEndpoint(oldVersionUdpEndpoint);