DiscoveryServiceExtension DiscoveryServiceExtension DiscoveryServiceExtension DiscoveryServiceExtension Class


An abstract WCF extension class for specifying a custom discovery service or for getting the published endpoints.

public ref class DiscoveryServiceExtension abstract : System::ServiceModel::IExtension<System::ServiceModel::ServiceHostBase ^>
public abstract class DiscoveryServiceExtension : System.ServiceModel.IExtension<System.ServiceModel.ServiceHostBase>
type DiscoveryServiceExtension = class
    interface IExtension<ServiceHostBase>
Public MustInherit Class DiscoveryServiceExtension
Implements IExtension(Of ServiceHostBase)


Derive a class from DiscoveryServiceExtension and override the GetDiscoveryService method to return your custom discovery service. Add your derived class to the ServiceHost extensions that host your discoverable service. When the IServiceBehavior.Validate is called the behavior iterates through the extensions in the service host and looks for a DiscoveryServiceExtension. If one is found its GetDiscoveryService is called to get the custom discovery service. If an extension is not found the default discovery service implementation is used.


DiscoveryServiceExtension() DiscoveryServiceExtension() DiscoveryServiceExtension() DiscoveryServiceExtension()

Initializes a new instance of the DiscoveryServiceExtension class.


PublishedEndpoints PublishedEndpoints PublishedEndpoints PublishedEndpoints

Gets a read-only collection of published endpoints.


Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetDiscoveryService() GetDiscoveryService() GetDiscoveryService() GetDiscoveryService()

Override this method to return your custom DiscoveryService implementation.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

IExtension<ServiceHostBase>.Attach(ServiceHostBase) IExtension<ServiceHostBase>.Attach(ServiceHostBase) IExtension<ServiceHostBase>.Attach(ServiceHostBase) IExtension<ServiceHostBase>.Attach(ServiceHostBase)

Attaches the extension to the specified service host.

IExtension<ServiceHostBase>.Detach(ServiceHostBase) IExtension<ServiceHostBase>.Detach(ServiceHostBase) IExtension<ServiceHostBase>.Detach(ServiceHostBase) IExtension<ServiceHostBase>.Detach(ServiceHostBase)

Overload this method to allow the extension to be detached from its service host.

Applies to