ServiceHost Class

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Provides a host for services.

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


public class ServiceHost : ServiceHostBase

NameDescription
System_CAPS_protmethodServiceHost()

Initializes a new instance of the ServiceHost class.

System_CAPS_pubmethodServiceHost(Object, Uri[])

Initializes a new instance of the ServiceHost class with the instance of the service and its base addresses specified.

System_CAPS_pubmethodServiceHost(Type, Uri[])

Initializes a new instance of the ServiceHost class with the type of service and its base addresses specified.

NameDescription
System_CAPS_pubpropertyAuthentication

Gets the service authentication behavior.(Inherited from ServiceHostBase.)

System_CAPS_pubpropertyAuthorization

Gets the authorization behavior for the service hosted.(Inherited from ServiceHostBase.)

System_CAPS_pubpropertyBaseAddresses

Gets the base addresses used by the hosted service.(Inherited from ServiceHostBase.)

System_CAPS_pubpropertyChannelDispatchers

Gets the collection of channel dispatchers used by the service host.(Inherited from ServiceHostBase.)

System_CAPS_pubpropertyCloseTimeout

Gets or sets the interval of time allowed for the service host to close.(Inherited from ServiceHostBase.)

System_CAPS_pubpropertyCredentials

Gets the credential for the service hosted.(Inherited from ServiceHostBase.)

System_CAPS_protpropertyDefaultCloseTimeout

Gets the default interval of time allowed for the service host to close.(Inherited from ServiceHostBase.)

System_CAPS_protpropertyDefaultOpenTimeout

Gets the default interval of time allowed for the service host to open.(Inherited from ServiceHostBase.)

System_CAPS_pubpropertyDescription

Gets the description of the service hosted.(Inherited from ServiceHostBase.)

System_CAPS_pubpropertyExtensions

Gets the extensions for the current specified service host.(Inherited from ServiceHostBase.)

System_CAPS_protpropertyImplementedContracts

Retrieves the contracts implemented by the service hosted.(Inherited from ServiceHostBase.)

System_CAPS_protpropertyIsDisposed

Gets a value that indicates whether the communication object has been disposed.(Inherited from CommunicationObject.)

System_CAPS_pubpropertyManualFlowControlLimit

Gets or sets the flow control limit for messages received by the service hosted.(Inherited from ServiceHostBase.)

System_CAPS_pubpropertyOpenTimeout

Gets or sets the interval of time allowed for the service host to open.(Inherited from ServiceHostBase.)

System_CAPS_pubpropertySingletonInstance

Gets the singleton instance of the hosted service.

System_CAPS_pubpropertyState

Gets a value that indicates the current state of the communication object.(Inherited from CommunicationObject.)

System_CAPS_protpropertyThisLock

Gets the mutually exclusive lock that protects the class instance during a state transition.(Inherited from CommunicationObject.)

NameDescription
System_CAPS_pubmethodAbort()

Causes a communication object to transition immediately from its current state into the closing state.(Inherited from CommunicationObject.)

System_CAPS_protmethodAddBaseAddress(Uri)

Adds a base address to the service host.(Inherited from ServiceHostBase.)

System_CAPS_pubmethodAddDefaultEndpoints()

Adds service endpoints for all base addresses in each contract found in the service host with the default binding.(Inherited from ServiceHostBase.)

System_CAPS_pubmethodAddServiceEndpoint(ServiceEndpoint)

Adds the specified service endpoint to the hosted service.(Inherited from ServiceHostBase.)

System_CAPS_pubmethodAddServiceEndpoint(String, Binding, String)

Adds a service endpoint to the hosted service with a specified contract, binding, and endpoint address.(Inherited from ServiceHostBase.)

System_CAPS_pubmethodAddServiceEndpoint(String, Binding, String, Uri)

Adds a service endpoint to the hosted service with a specified contract, binding, endpoint address and URI that contains the address at which it listens.(Inherited from ServiceHostBase.)

System_CAPS_pubmethodAddServiceEndpoint(String, Binding, Uri)

Adds a service endpoint to the hosted service with a specified contract, binding, and a URI that contains the endpoint address.(Inherited from ServiceHostBase.)

System_CAPS_pubmethodAddServiceEndpoint(String, Binding, Uri, Uri)

Adds a service endpoint to the hosted service with the specified contract, binding, and URIs that contain the endpoint and listening addresses.(Inherited from ServiceHostBase.)

System_CAPS_pubmethodAddServiceEndpoint(Type, Binding, String)

Adds a service endpoint to the hosted service with a specified contract, binding, and endpoint address.

System_CAPS_pubmethodAddServiceEndpoint(Type, Binding, String, Uri)

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

System_CAPS_pubmethodAddServiceEndpoint(Type, Binding, Uri)

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

System_CAPS_pubmethodAddServiceEndpoint(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.

System_CAPS_protmethodApplyConfiguration()

Loads the service description from the configuration file and applies it to the runtime being constructed.(Overrides ServiceHostBase.ApplyConfiguration().)

System_CAPS_pubmethodBeginClose(AsyncCallback, Object)

Begins an asynchronous operation to close a communication object.(Inherited from CommunicationObject.)

System_CAPS_pubmethodBeginClose(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to close a communication object with a specified timeout.(Inherited from CommunicationObject.)

System_CAPS_pubmethodBeginOpen(AsyncCallback, Object)

Begins an asynchronous operation to open a communication object.(Inherited from CommunicationObject.)

System_CAPS_pubmethodBeginOpen(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation to open a communication object within a specified interval of time.(Inherited from CommunicationObject.)

System_CAPS_pubmethodClose()

Causes a communication object to transition from its current state into the closed state.(Inherited from CommunicationObject.)

System_CAPS_pubmethodClose(TimeSpan)

Causes a communication object to transition from its current state into the closed state within a specified interval of time.(Inherited from CommunicationObject.)

System_CAPS_protmethodCreateDescription(IDictionary<String, ContractDescription>)

Creates a description of the service hosted.(Overrides ServiceHostBase.CreateDescription(IDictionary<String, ContractDescription>).)

System_CAPS_pubmethodEndClose(IAsyncResult)

Completes an asynchronous operation to close a communication object.(Inherited from CommunicationObject.)

System_CAPS_pubmethodEndOpen(IAsyncResult)

Completes an asynchronous operation to open a communication object.(Inherited from CommunicationObject.)

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFault()

Causes a communication object to transition from its current state into the faulted state.(Inherited from CommunicationObject.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_protmethodGetCommunicationObjectType()

Gets the type of communication object.(Inherited from CommunicationObject.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodIncrementManualFlowControlLimit(Int32)

Increases the limit on the flow rate of messages to the hosted service by a specified increment.(Inherited from ServiceHostBase.)

System_CAPS_protmethodInitializeDescription(Object, UriSchemeKeyedCollection)

Initializes a description of the service hosted based on its instance and specified base addresses.

System_CAPS_protmethodInitializeDescription(Type, UriSchemeKeyedCollection)

Initializes a description of the service hosted based on its type and specified base addresses.

System_CAPS_protmethodInitializeDescription(UriSchemeKeyedCollection)

Creates and initializes the service host with the contract and service descriptions.(Inherited from ServiceHostBase.)

System_CAPS_protmethodInitializeRuntime()

Initializes the runtime for the service host.(Inherited from ServiceHostBase.)

System_CAPS_protmethodLoadConfigurationSection(ServiceElement)

Loads the service element from the configuration file of the hosted service.(Inherited from ServiceHostBase.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_protmethodOnAbort()

Aborts the service.(Inherited from ServiceHostBase.)

System_CAPS_protmethodOnBeginClose(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation invoked on the close of the service host.(Inherited from ServiceHostBase.)

System_CAPS_protmethodOnBeginOpen(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation invoked on the opening of the service host.(Inherited from ServiceHostBase.)

System_CAPS_protmethodOnClose(TimeSpan)

Closes down the hosted service, including their channel dispatchers and associated instance contexts and listeners.(Inherited from ServiceHostBase.)

System_CAPS_protmethodOnClosed()

Disposes of disposable services that are being hosted when the service host is closed.(Overrides ServiceHostBase.OnClosed().)

System_CAPS_protmethodOnClosing()

Invoked during the transition of a communication object into the closing state.(Inherited from CommunicationObject.)

System_CAPS_protmethodOnEndClose(IAsyncResult)

Completes an asynchronous operation invoked on the closing of the service host.(Inherited from ServiceHostBase.)

System_CAPS_protmethodOnEndOpen(IAsyncResult)

Completes an asynchronous operation invoked on the opening of the service host.(Inherited from ServiceHostBase.)

System_CAPS_protmethodOnFaulted()

Inserts processing on a communication object after it transitions to the faulted state due to the invocation of a synchronous fault operation.(Inherited from CommunicationObject.)

System_CAPS_protmethodOnOpen(TimeSpan)

Opens the channel dispatchers.(Inherited from ServiceHostBase.)

System_CAPS_protmethodOnOpened()

Gets the service credentials,service authentication and authorization behavior for the hosted service.(Inherited from ServiceHostBase.)

System_CAPS_protmethodOnOpening()

Invoked during the transition of a communication object into the opening state.(Inherited from CommunicationObject.)

System_CAPS_pubmethodOpen()

Causes a communication object to transition from the created state into the opened state.(Inherited from CommunicationObject.)

System_CAPS_pubmethodOpen(TimeSpan)

Causes a communication object to transition from the created state into the opened state within a specified interval of time.(Inherited from CommunicationObject.)

System_CAPS_protmethodReleasePerformanceCounters()

Releases the service and channel dispatcher performance counters for the hosted service.(Inherited from ServiceHostBase.)

System_CAPS_pubmethodSetEndpointAddress(ServiceEndpoint, String)

Sets the endpoint address of the specified endpoint to the specified address.(Inherited from ServiceHostBase.)

System_CAPS_protmethodThrowIfDisposed()

Throws an exception if the communication object is disposed.(Inherited from CommunicationObject.)

System_CAPS_protmethodThrowIfDisposedOrImmutable()

Throws an exception if the communication object the State property is not set to the Created state.(Inherited from CommunicationObject.)

System_CAPS_protmethodThrowIfDisposedOrNotOpen()

Throws an exception if the communication object is not in the Opened state.(Inherited from CommunicationObject.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubeventClosed

Occurs when a communication object transitions into the closed state.(Inherited from CommunicationObject.)

System_CAPS_pubeventClosing

Occurs when a communication object transitions into the closing state.(Inherited from CommunicationObject.)

System_CAPS_pubeventFaulted

Occurs when a communication object transitions into the faulted state.(Inherited from CommunicationObject.)

System_CAPS_pubeventOpened

Occurs when a communication object transitions into the opened state.(Inherited from CommunicationObject.)

System_CAPS_pubeventOpening

Occurs when a communication object transitions into the opening state.(Inherited from CommunicationObject.)

System_CAPS_pubeventUnknownMessageReceived

Occurs when an unknown message is received.(Inherited from ServiceHostBase.)

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDisposable.Dispose()

Closes the service host. (Inherited from ServiceHostBase.)

Implements the host used by the Windows Communication Foundation (WCF) service model programming model.

Use the ServiceHost class to configure and expose a service for use by client applications when you are not using Internet Information Services (IIS) or Windows Activation Services (WAS) to expose a service. Both IIS and WAS interact with a ServiceHost object on your behalf.

To expose a service for use by callers, WCF requires a complete service description (represented by the ServiceDescription class). The ServiceHost class creates a ServiceDescription from the service type and configuration information and then uses that description to create ChannelDispatcher objects for each endpoint in the description.

Use a ServiceHost object to load a service, configure endpoints, apply security settings, and start listeners to handle incoming requests.

// Host the service within this EXE console application.
public static void Main()
{
  using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService)))
  {
    try
    {
      // Open the ServiceHost to start listening for messages.
      serviceHost.Open();

        // The service can now be accessed.
      Console.WriteLine("The service is ready.");
      Console.WriteLine("Press <ENTER> to terminate service.");
      Console.ReadLine();

      // Close the ServiceHost.
      serviceHost.Close();
    }
    catch (TimeoutException timeProblem)
    {
      Console.WriteLine(timeProblem.Message);
      Console.ReadLine();
    }
    catch (CommunicationException commProblem)
    {
      Console.WriteLine(commProblem.Message);
      Console.ReadLine();
    }
  }
}

.NET Framework
Available since 3.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: