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.
Al utilizar un enlace personalizado con DiscoveryClientBindingElement, debe definir una clase DiscoveryEndpointProvider que cree las instancias DiscoveryEndpoint.
Crear un DiscoveryEndpointProvider
La clase DiscoveryEndpointProvider es la responsable de la creación de DiscoveryEndpoints a petición. Para definir un proveedor de extremo de detección, derive una clase de DiscoveryEndpointProvider e invalide el método GetDiscoveryEndpoint y, a continuación, devuelva un nuevo extremo de detección. En el siguiente ejemplo, se muestra cómo crear un proveedor de extremo de detección.
// Extend DiscoveryEndpointProvider class to change the default DiscoveryEndpoint
// to the DiscoveryClientBindingElement. The Discovery ClientChannel
// uses this endpoint to send Probe message.
public class UdpDiscoveryEndpointProvider : DiscoveryEndpointProvider
{
public override DiscoveryEndpoint GetDiscoveryEndpoint()
{
return new UdpDiscoveryEndpoint(DiscoveryVersion.WSDiscoveryApril2005);
}
}
Cuando haya definido el proveedor de extremo de detección, podrá crear un enlace personalizado y agregar DiscoveryClientBindingElement, que hace referencia al proveedor de extremo de detección, tal y como se muestra en el siguiente ejemplo.
DiscoveryClientBindingElement discoveryBindingElement = new DiscoveryClientBindingElement();
// Provide the search criteria and the endpoint over which the probe is sent.
discoveryBindingElement.FindCriteria = new FindCriteria(typeof(ICalculatorService));
discoveryBindingElement.DiscoveryEndpointProvider = new UdpDiscoveryEndpointProvider();
CustomBinding customBinding = new CustomBinding(new NetTcpBinding());
// Insert DiscoveryClientBindingElement at the top of the BindingElement stack.
// An exception is thrown if this binding element is not at the top.
customBinding.Elements.Insert(0, discoveryBindingElement);
Para obtener más información sobre el uso del canal de cliente de detección, vea Usar el canal del cliente de detección. Para obtener un ejemplo de código completo, vea Ejemplo de elemento de enlace de detección.
Vea también
Tareas
Ejemplo de elemento de enlace de detección
Conceptos
Información general de Detección de WCF
Usar el canal del cliente de detección