Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
Wersjonowanie 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 wersjonowaniem.
Następujące klasy Discovery mają właściwość DiscoveryVersion i przyjmują argument DiscoveryVersion w swoich konstruktorach.
DiscoveryVersion.WSDiscoveryApril2005
Podanie WSDiscoveryApril2005 jako parametru konstruktora sprawia, że implementacja korzysta z 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ą, wykorzystującą wersję WS-Discovery z kwietnia 2005 roku.
DiscoveryVersion.WSDiscovery11
Domyślna wersja wyszukiwania używana przez interfejsy API to WSDiscovery11. Jest to bieżąca ustandaryzowana wersja protokołu WS-Discovery.
DiscoveryVersion.WSDiscoveryCD1
Podanie WSDiscoveryCD1 jako parametru konstruktora powoduje, że implementacja używa wersji projektu komitetu 1 protokołu WS-Discovery. Ta wersja protokołu powinna być używana do współdziałania z konfiguracjami protokołu WS-Discovery działającymi 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 poniższym przykładzie 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);