ServiceHostBase Class

 

Extends the ServiceHostBase class to implement hosts that expose custom programming models.

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


public abstract class ServiceHostBase : CommunicationObject, 
	IExtensibleObject<ServiceHostBase>, IDisposable

NameDescription
System_CAPS_protmethodServiceHostBase()

Initializes a new instance of the ServiceHostBase class.

NameDescription
System_CAPS_pubpropertyAuthentication

Gets the service authentication behavior.

System_CAPS_pubpropertyAuthorization

Gets the authorization behavior for the service hosted.

System_CAPS_pubpropertyBaseAddresses

Gets the base addresses used by the hosted service.

System_CAPS_pubpropertyChannelDispatchers

Gets the collection of channel dispatchers used by the service host.

System_CAPS_pubpropertyCloseTimeout

Gets or sets the interval of time allowed for the service host to close.

System_CAPS_pubpropertyCredentials

Gets the credential for the service hosted.

System_CAPS_protpropertyDefaultCloseTimeout

Gets the default interval of time allowed for the service host to close.(Overrides CommunicationObject.DefaultCloseTimeout.)

System_CAPS_protpropertyDefaultOpenTimeout

Gets the default interval of time allowed for the service host to open.(Overrides CommunicationObject.DefaultOpenTimeout.)

System_CAPS_pubpropertyDescription

Gets the description of the service hosted.

System_CAPS_pubpropertyExtensions

Gets the extensions for the current specified service host.

System_CAPS_protpropertyImplementedContracts

Retrieves the contracts implemented by the service hosted.

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.

System_CAPS_pubpropertyOpenTimeout

Gets or sets the interval of time allowed for the service host to open.

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.

System_CAPS_pubmethodAddDefaultEndpoints()

Adds service endpoints for all base addresses in each contract found in the service host with the default binding.

System_CAPS_pubmethodAddServiceEndpoint(ServiceEndpoint)

Adds the specified service endpoint to the hosted service.

System_CAPS_pubmethodAddServiceEndpoint(String, Binding, String)

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

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.

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.

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.

System_CAPS_protmethodApplyConfiguration()

Loads the service description information from the configuration file and applies it to the runtime being constructed.

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

When implemented in a derived class, creates the description of the hosted service.

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.

System_CAPS_protmethodInitializeDescription(UriSchemeKeyedCollection)

Creates and initializes the service host with the contract and service descriptions.

System_CAPS_protmethodInitializeRuntime()

Initializes the runtime for the service host.

System_CAPS_protmethodLoadConfigurationSection(ServiceElement)

Loads the service element from the configuration file of the hosted service.

System_CAPS_protmethodMemberwiseClone()

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

System_CAPS_protmethodOnAbort()

Aborts the service.(Overrides CommunicationObject.OnAbort().)

System_CAPS_protmethodOnBeginClose(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation invoked on the close of the service host.(Overrides CommunicationObject.OnBeginClose(TimeSpan, AsyncCallback, Object).)

System_CAPS_protmethodOnBeginOpen(TimeSpan, AsyncCallback, Object)

Begins an asynchronous operation invoked on the opening of the service host.(Overrides CommunicationObject.OnBeginOpen(TimeSpan, AsyncCallback, Object).)

System_CAPS_protmethodOnClose(TimeSpan)

Closes down the hosted service, including their channel dispatchers and associated instance contexts and listeners.(Overrides CommunicationObject.OnClose(TimeSpan).)

System_CAPS_protmethodOnClosed()

Releases resources used by the service host.(Overrides CommunicationObject.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.(Overrides CommunicationObject.OnEndClose(IAsyncResult).)

System_CAPS_protmethodOnEndOpen(IAsyncResult)

Completes an asynchronous operation invoked on the opening of the service host.(Overrides CommunicationObject.OnEndOpen(IAsyncResult).)

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.(Overrides CommunicationObject.OnOpen(TimeSpan).)

System_CAPS_protmethodOnOpened()

Gets the service credentials,service authentication and authorization behavior for the hosted service.(Overrides CommunicationObject.OnOpened().)

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.

System_CAPS_pubmethodSetEndpointAddress(ServiceEndpoint, String)

Sets the endpoint address of the specified endpoint to the specified address.

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.

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDisposable.Dispose()

Closes the service host.

Use the ServiceHostBase class to create hosts that provide a custom programming model. The Windows Communication Foundation (WCF) service programming model uses the ServiceHost class.

Special note for Managed C++ users deriving from this class:

  • Put your cleanup code in (On)(Begin)Close (and/or OnAbort), not in a destructor.

  • Avoid destructors; they cause the compiler to auto-generate IDisposable.

  • Avoid non-reference members; they can cause the compiler to auto-generate IDisposable.

  • Avoid finalizers; but if you include one, you should suppress the build warning and call SuppressFinalize(Object) and the finalizer itself from (On)(Begin)Close (and/or OnAbort) to emulate what would have been the auto-generated IDisposable behavior.

This sample uses the ServiceHost class, which is derived from ServiceHostBase.

// 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: