Delen via


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