Detectieversiebeheer
Dit onderwerp bevat een kort overzicht van de implementatie van enkele nieuwe detectiefuncties. Het geeft ook een overzicht van het selecteren van de detectieversie die u wilt gebruiken.
Detectieversiebeheer
De detectiefunctie bevat ondersteuning voor drie versies van het WS_Discovery-protocol. Met de detectie-API's kunt u selecteren welke versie van het protocol u wilt gebruiken. In dit document worden de instellingen voor versiebeheer kort beschreven.
De volgende Discovery-klassen hebben nu een DiscoveryVersion eigenschap en nemen een DiscoveryVersion argument in hun constructors:
DiscoveryVersion.WSDiscoveryApril2005
Als WSDiscoveryApril2005 een constructorparameter wordt de implementatie gebruikt de versie van april2005 van het WS-Discovery-protocol. Deze versie komt overeen met de gepubliceerde versie van de WS-Discovery-protocolspecificatie. Deze versie moet worden gebruikt om samen te werken met oudere toepassingen die gebruikmaken van de versie van april 2005 van WS-Discovery.
DiscoveryVersion.WSDiscovery11
De standaarddetectieversie die door de API's wordt gebruikt, is WSDiscovery11. Dit is de huidige gestandaardiseerde versie van het WS-Discovery-protocol.
DiscoveryVersion.WSDiscoveryCD1
Als WSDiscoveryCD1 een constructorparameter wordt de implementatie gebruikt de commissie concept 1-versie van het WS-Discovery-protocol. Deze versie van het protocol moet worden gebruikt om samen te werken met implementaties waarop de CD1-versie van het WS-Discovery-protocol wordt uitgevoerd.
Ondersteuning voor meerdere UDP Discovery-eindpunten voor verschillende detectieversies op één servicehost
Mogelijk wilt u meerdere UDP Discovery-eindpunten beschikbaar maken voor verschillende detectieversies op één servicehost. Hiervoor moet u een uniek adres opgeven voor elk UDP-detectie-eindpunt. In het volgende voorbeeld ziet u hoe u dit doet.
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);