Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tema se proporciona una breve introducción a la implementación de algunas nuevas características de detección. También proporciona información general sobre cómo seleccionar la versión de detección que se va a usar.
Control de versiones de detección
La característica de detección incluye compatibilidad con tres versiones del protocolo WS_Discovery. Las API de detección permiten seleccionar la versión del protocolo que desea usar. En este documento se describe brevemente la configuración relacionada con el control de versiones.
Las siguientes clases discovery ahora tienen una DiscoveryVersion propiedad y toman un DiscoveryVersion argumento en sus constructores:
DiscoveryVersion.WSDiscoveryApril2005
Proporcionar WSDiscoveryApril2005 como parámetro de constructor hace que la implementación use la versión april2005 del protocolo WS-Discovery. Esta versión corresponde a la versión publicada de la especificación del protocolo WS-Discovery. Esta versión debe usarse para interoperar con la aplicación heredada mediante la versión april2005 de WS-Discovery.
DiscoveryVersion.WSDiscovery11
La versión de detección predeterminada que usan las API es WSDiscovery11. Esta es la versión estandarizada actual del protocolo WS-Discovery.
DiscoveryVersion.WSDiscoveryCD1
Proporcionar WSDiscoveryCD1 como parámetro de constructor hace que la implementación use el proyecto de comité 1 versión del protocolo WS-Discovery. Esta versión del protocolo debe usarse para interoperar con implementaciones que ejecutan la versión CD1 del protocolo WS-Discovery.
Compatibilidad con varios puntos de conexión de detección de UDP para diferentes versiones de detección en un host de servicio único
Es posible que quiera exponer varios puntos de conexión de detección de UDP para diferentes versiones de detección en un único host de servicio. Para ello, debe especificar una dirección única para cada punto de conexión de detección de UDP. En el ejemplo siguiente se muestra cómo hacerlo.
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);