Udostępnij za pośrednictwem


Przechowywanie wersji odnajdywania

Ten temat zawiera krótkie omówienie implementacji niektórych nowych funkcji odnajdywania. Zawiera również omówienie sposobu wybierania wersji odnajdywania do użycia.

Przechowywanie wersji odnajdywania

Funkcja odnajdywania obejmuje obsługę trzech wersji protokołu WS_Discovery. Interfejsy API odnajdywania umożliwiają wybranie wersji protokołu, którego chcesz użyć. W tym dokumencie krótko opisano ustawienia związane z wersją.

Następujące klasy odnajdywania mają DiscoveryVersion teraz właściwość i przyjmują DiscoveryVersion argument w swoich konstruktorach:

DiscoveryVersion.WSDiscoveryApril2005

Podanie WSDiscoveryApril2005 jako parametru konstruktora sprawia, że implementacja używa wersji april2005 protokołu WS-Discovery. Ta wersja odpowiada opublikowanej wersji specyfikacji protokołu WS-Discovery. Ta wersja powinna służyć do współdziałania ze starszą aplikacją korzystającą z wersji april2005 odnajdywania WS-Discovery.

DiscoveryVersion.WSDiscovery11

Domyślna wersja odnajdywania używana przez interfejsy API to WSDiscovery11. Jest to bieżąca ustandaryzowana wersja protokołu WS-Discovery.

DiscoveryVersion.WSDiscoveryCD1

Podanie WSDiscoveryCD1 jako parametru konstruktora sprawia, że implementacja używa komitetu wersji 1 protokołu WS-Discovery. Ta wersja protokołu powinna służyć do współdziałania z implementacjami z uruchomioną wersją protokołu WS-Discovery w wersji CD1.

Obsługa wielu punktów końcowych odnajdywania UDP dla różnych wersji odnajdywania na jednym hoście usługi

Może być konieczne uwidocznienie wielu punktów końcowych odnajdywania UDP dla różnych wersji odnajdywania na jednym hoście usługi. W tym celu należy określić unikatowy adres dla każdego punktu końcowego odnajdywania UDP. W przykładzie poniżej pokazano, jak to zrobić.

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);