共用方式為


探索版本控制

本主題簡要概述部分新探索功能的實作, 同時也概要說明如何選取要使用的探索版本。

探索版本控制

探索功能包括支援三種版本的 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() + "/versionAril2005");

serviceHost.AddServiceEndpoint(newVersionUdpEndpoint);
serviceHost.AddServiceEndpoint(oldVersionUdpEndpoint);