ServiceHost.AddServiceEndpoint Method (Type, Binding, Uri, Uri)


Adds a service endpoint to the hosted service with a specified contract, binding, a URI that contains the endpoint address, and a URI on which the service listens.

Namespace:   System.ServiceModel
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public ServiceEndpoint AddServiceEndpoint(
	Type implementedContract,
	Binding binding,
	Uri address,
	Uri listenUri


Type: System.Type

The Type of contract for the endpoint added.

Type: System.ServiceModel.Channels.Binding

The Binding for the endpoint added.

Type: System.Uri

The Uri that contains the address for the endpoint added.

Type: System.Uri

The Uri on which the service endpoints can listen.

Return Value

Type: System.ServiceModel.Description.ServiceEndpoint

The ServiceEndpoint added to the hosted service.

Exception Condition

implementedContract or binding or address is null.


The contracts are not initialized or the contract keys cannot be found.

Use this version of the method when you have multiple endpoints that need to listen on the same, specified URI.

BasicHttpBinding binding = new BasicHttpBinding();
Uri listenUri = new Uri("http://localhost:8000/MyListenUri");
Uri address = new Uri("http://localhost:8000/servicemodelsamples/service3");
serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, address, listenUri);

.NET Framework
Available since 3.0
Return to top