Správa verzí zjišťování
Toto téma obsahuje stručný přehled implementace některých nových funkcí zjišťování. Poskytuje také přehled o tom, jak vybrat verzi zjišťování, která se má použít.
Správa verzí zjišťování
Funkce zjišťování zahrnuje podporu tří verzí protokolu WS_Discovery. Rozhraní API zjišťování umožňují vybrat verzi protokolu, který chcete použít. Tento dokument stručně popisuje nastavení související s verzí.
Následující třídy discovery nyní mají DiscoveryVersion vlastnost a přebírají DiscoveryVersion argument v jejich konstruktorech:
DiscoveryVersion.WSDiscoveryApril2005
Poskytnutí WSDiscoveryApril2005 parametru konstruktoru používá implementaci verzi protokolu WS-Discovery z dubna 2005. Tato verze odpovídá publikované verzi specifikace protokolu WS-Discovery. Tato verze by se měla použít k spolupráci se starší verzí aplikace využívající verzi WS-Discovery z dubna 2005.
DiscoveryVersion.WSDiscovery11
Výchozí verze zjišťování používaná rozhraními API je WSDiscovery11. Toto je aktuální standardizovaná verze protokolu WS-Discovery.
DiscoveryVersion.WSDiscoveryCD1
Poskytnutí WSDiscoveryCD1 parametru konstruktoru používá implementaci návrhu výboru 1 verze protokolu WS-Discovery. Tato verze protokolu by měla být použita k spolupráci s implementacemi, na kterých běží verze CD1 protokolu WS-Discovery.
Podpora více koncových bodů zjišťování UDP pro různé verze zjišťování na jednom hostiteli služby
Možná budete chtít zveřejnit více koncových bodů zjišťování UDP pro různé verze zjišťování na jednom hostiteli služby. K tomu musíte zadat jedinečnou adresu pro každý koncový bod zjišťování UDP. Následující příklad ukazuje, jak to provést.
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);