共用方式為


使用具有探索用戶端通道的自訂繫結

使用自訂繫結配合 DiscoveryClientBindingElement 時,您必須定義建立 DiscoveryEndpoint 執行個體的 DiscoveryEndpointProvider

建立 DiscoveryEndpointProvider

DiscoveryEndpointProvider 負責在需要時建立 DiscoveryEndpoints。 若要定義探索端點提供者,請從 DiscoveryEndpointProvider 衍生一個類別,覆寫 GetDiscoveryEndpoint 方法並傳回新的探索端點。 下列範例示範如何建立探索端點提供者。

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

定義探索端點提供者之後,即可建立自訂繫結,並且加入 DiscoveryClientBindingElement,此項目會參考探索端點提供者,如下列範例所示。

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

如需詳細資訊使用探索用戶端通道的詳細資訊,請參閱使用探索用戶端通道。 如需完整的程式碼範例,請參閱探索繫結項目範例

另請參閱

工作

探索繫結項目範例

概念

WCF 探索概觀
使用探索用戶端通道