Dela via


Identifieringsversioner

Det här avsnittet innehåller en kort översikt över implementeringen av några nya identifieringsfunktioner. Den ger också en översikt över hur du väljer den identifieringsversion som ska användas.

Identifieringsversioner

Identifieringsfunktionen har stöd för tre versioner av WS_Discovery-protokollet. Med identifierings-API:erna kan du välja vilken version av protokollet du vill använda. I det här dokumentet beskrivs kortfattat de versionsrelaterade inställningarna.

Följande identifieringsklasser har nu en DiscoveryVersion egenskap och tar ett DiscoveryVersion argument i sina konstruktorer:

DiscoveryVersion.WSDiscoveryApril2005

Om du anger WSDiscoveryApril2005 som en konstruktorparameter använder implementeringen april2005-versionen av WS-Discovery-protokollet. Den här versionen motsvarar den publicerade versionen av WS-Discovery-protokollspecifikationen. Den här versionen bör användas för att samverka med äldre program som använder april2005-versionen av WS-Discovery.

DiscoveryVersion.WSDiscovery11

Standardidentifieringsversionen som används av API:erna är WSDiscovery11. Det här är den aktuella standardiserade versionen av WS-Discovery-protokollet.

DiscoveryVersion.WSDiscoveryCD1

Om du anger WSDiscoveryCD1 en konstruktorparameter använder implementeringen kommittéutkast 1-versionen av WS-Discovery-protokollet. Den här versionen av protokollet ska användas för att samverka med implementeringar som kör CD1-versionen av WS-Discovery-protokollet.

Stöd för flera UDP-identifieringsslutpunkter för olika identifieringsversioner på en enskild tjänstvärd

Du kanske vill exponera flera UDP Discovery-slutpunkter för olika identifieringsversioner på en enda tjänstvärd. För att göra detta måste du ange en unik adress för varje UDP-identifieringsslutpunkt. I följande exempel visas hur du gör detta.

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