Controllo delle versioni per l'individuazioneDiscovery Versioning

In questo argomento viene fornita una breve panoramica dell'implementazione di alcune nuove funzionalità di individuazione.This topic provides a brief overview of the implementation of some new discovery features. Vengono inoltre forniti cenni preliminari sulla scelta della versione dell'individuazione da usare.It also gives an overview on how to select the discovery version to use.

Controllo delle versioni per l'individuazioneDiscovery Versioning

La funzionalità di individuazione include il supporto per tre versioni del protocollo WS_Discovery.The discovery feature includes support for three versions of the WS_Discovery protocol. Le interfacce API di individuazione consentono di selezionare la versione del protocollo che si desidera usare.The discovery APIs allow you to select which version of the protocol you want to use. Questo documento contiene brevi descrizioni sulle impostazioni correlate al controllo delle versioni.This document briefly describes the versioning-related settings.

Le classi di individuazione seguenti dispongo ora di una proprietà DiscoveryVersion e usano un argomento DiscoveryVersion nei propri costruttori:The following Discovery classes now have a DiscoveryVersion property and take a DiscoveryVersion argument in their constructors:

DiscoveryVersion.WSDiscoveryApril2005DiscoveryVersion.WSDiscoveryApril2005

Fornendo WSDiscoveryApril2005 come costruttore con parametro, l'implementazione utilizzerà la versione April2005 del protocollo WS-Discovery.Providing WSDiscoveryApril2005 as a constructor parameter makes the implementation use the April2005 version of the WS-Discovery protocol. Questa versione corrisponde alla versione pubblicata della specifica del protocollo di WS-DiscoveryThis version corresponds to the published version of the WS-Discovery protocol specification. e deve essere usata per interoperare con l'applicazione legacy che usa la versione April2005 di WS-Discovery.This version should be used to interoperate with legacy application utilizing the April2005 version of WS-Discovery.

DiscoveryVersion.WSDiscovery11DiscoveryVersion.WSDiscovery11

È la versione di individuazione predefinita utilizzata dalle API WSDiscovery11.The default discovery version used by the APIs is WSDiscovery11. Si tratta della versione standardizzata corrente del protocollo di WS-Discovery.This is the current standardized version of the WS-Discovery protocol.

DiscoveryVersion.WSDiscoveryCD1DiscoveryVersion.WSDiscoveryCD1

Se viene fornito WSDiscoveryCD1 come parametro costruttore, l'implementazione utilizzerà la versione 1 della bozza del comitato del protocollo WS-Discovery.Providing WSDiscoveryCD1 as a constructor parameter makes the implementation use the committee draft 1 version of the WS-Discovery protocol. Questa versione del protocollo deve essere usata per interoperare con le implementazioni che eseguono la versione CD1 del protocollo WS-Discovery.This version of the protocol should be used to interoperate with implementations running the CD1 version of the WS-Discovery protocol.

Supporto di più endpoint di individuazione UDP per varie versioni per l'individuazione su un solo host del servizioSupporting Multiple UDP Discovery Endpoints for Different Discovery Versions on a Single Service Host

Potrebbe risultare opportuno esporre più endpoint di individuazione UDP per varie versioni per l'individuazione su un solo host del servizio.You may want to expose multiple UDP Discovery Endpoints for different discovery versions on a single service host. A tale scopo è necessario specificare un indirizzo univoco per ogni endpoint di individuazione UDP.To do this you must specify a unique address for each UDP discovery endpoint. Nell'esempio seguente viene illustrato come effettuare questa operazione.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);