Versionskontrolle für die SucheDiscovery Versioning

Dieses Thema enthält eine kurze Übersicht über die Implementierung einiger neuer Suchfunktionen.This topic provides a brief overview of the implementation of some new discovery features. Es enthält außerdem eine Übersicht über die Auswahl der zu verwendenden Suchversion.It also gives an overview on how to select the discovery version to use.

Versionskontrolle für die SucheDiscovery Versioning

Die Suchfunktion verfügt über die Unterstützung für drei Versionen des WS_Discovery-Protokolls.The discovery feature includes support for three versions of the WS_Discovery protocol. Mithilfe der Such-APIs können Sie auswählen, welche Version des Protokolls Sie verwenden möchten.The discovery APIs allow you to select which version of the protocol you want to use. In diesem Dokument werden die Einstellungen zur Versionskontrolle kurz beschrieben.This document briefly describes the versioning-related settings.

Die folgenden Discovery-Klassen verfügen jetzt über eine DiscoveryVersion-Eigenschaft und verwenden in ihren Konstruktoren ein DiscoveryVersion-Argument:The following Discovery classes now have a DiscoveryVersion property and take a DiscoveryVersion argument in their constructors:

DiscoveryVersion.WSDiscoveryApril2005DiscoveryVersion.WSDiscoveryApril2005

Bereitstellen von WSDiscoveryApril2005 als Konstruktor Parameter stellt die Implementierung die Version "April2005" des WS-Discovery-Protokolls zu verwenden.Providing WSDiscoveryApril2005 as a constructor parameter makes the implementation use the April2005 version of the WS-Discovery protocol. Diese Version entspricht der veröffentlichten Version der WS-Discovery-Protokollspezifikation.This version corresponds to the published version of the WS-Discovery protocol specification. Sie sollten diese Version bei Interaktionen mit älteren Anwendungen verwenden, die die Version "April2005" der WS-Suche nutzen.This version should be used to interoperate with legacy application utilizing the April2005 version of WS-Discovery.

DiscoveryVersion.WSDiscovery11DiscoveryVersion.WSDiscovery11

Die von den APIs verwendete standardsuchversion ist WSDiscovery11.The default discovery version used by the APIs is WSDiscovery11. Dies ist die momentane Standardversion des WS-Discovery-Protokolls.This is the current standardized version of the WS-Discovery protocol.

DiscoveryVersion.WSDiscoveryCD1DiscoveryVersion.WSDiscoveryCD1

Das Bereitstellen von WSDiscoveryCD1 als Konstruktorparameter führt dazu, dass die Implementierung die Version "Committee Draft 1" des WS-Discovery-Protokolls verwendet.Providing WSDiscoveryCD1 as a constructor parameter makes the implementation use the committee draft 1 version of the WS-Discovery protocol. Sie sollten diese Version des Protokolls bei Interaktionen mit Implementierungen verwenden, die die CD1-Version des WS-Discovery-Protokolls nutzen.This version of the protocol should be used to interoperate with implementations running the CD1 version of the WS-Discovery protocol.

Unterstützen von mehreren UDP-Suchendpunkten für verschiedene Suchversionen auf einem einzelnen DiensthostSupporting Multiple UDP Discovery Endpoints for Different Discovery Versions on a Single Service Host

Es kann erforderlich sein, auf einem einzelnen Diensthost mehrere UDP-Suchendpunkte für verschiedene Suchversionen verfügbar zu machen.You may want to expose multiple UDP Discovery Endpoints for different discovery versions on a single service host. Dazu müssen Sie eine eindeutige Adresse für jeden UDP-Suchendpunkt angeben.To do this you must specify a unique address for each UDP discovery endpoint. Das folgende Beispiel zeigt die dazu erforderliche Vorgehensweise.The following example shows how to do this.

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() + "/versionAril2005");  

serviceHost.AddServiceEndpoint(newVersionUdpEndpoint);  
serviceHost.AddServiceEndpoint(oldVersionUdpEndpoint);