ServiceHostBase ServiceHostBase ServiceHostBase ServiceHostBase Class

Definición

Extienda la clase ServiceHostBase para implementar hosts que exponen los modelos de programación personalizados.Extends the ServiceHostBase class to implement hosts that expose custom programming models.

public ref class ServiceHostBase abstract : System::ServiceModel::Channels::CommunicationObject, IDisposable, System::ServiceModel::IExtensibleObject<System::ServiceModel::ServiceHostBase ^>
public abstract class ServiceHostBase : System.ServiceModel.Channels.CommunicationObject, IDisposable, System.ServiceModel.IExtensibleObject<System.ServiceModel.ServiceHostBase>
type ServiceHostBase = class
    inherit CommunicationObject
    interface IExtensibleObject<ServiceHostBase>
    interface IDisposable
Public MustInherit Class ServiceHostBase
Inherits CommunicationObject
Implements IDisposable, IExtensibleObject(Of ServiceHostBase)
Herencia
Derivado
Implementaciones

Ejemplos

Este ejemplo utiliza la clase ServiceHost, que se deriva de ServiceHostBaseThis 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();
    }
  }
}
' Host the service within this EXE console application.
Public Shared Sub Main()
    ' Create a ServiceHost for the CalculatorService type and use the base address from config.
    Using svcHost As New ServiceHost(GetType(CalculatorService))
        Try
            ' Open the ServiceHost to start listening for messages.
            svcHost.Open()

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

            'Close the ServiceHost.
            svcHost.Close()

        Catch timeout As TimeoutException
            Console.WriteLine(timeout.Message)
            Console.ReadLine()
        Catch commException As CommunicationException
            Console.WriteLine(commException.Message)
            Console.ReadLine()
        End Try
    End Using

End Sub

Comentarios

Utilice la clase ServiceHostBase para crear hosts que proporcionan un modelo de programación personalizado.Use the ServiceHostBase class to create hosts that provide a custom programming model. El modelo de programación del servicio Windows Communication Foundation (WCF) ServiceHost utiliza la clase.The Windows Communication Foundation (WCF) service programming model uses the ServiceHost class.

Nota especial para los usuarios de C++ que deriven de esta clase:Special note for Managed C++ users deriving from this class:

  • Coloque su código de limpieza en (On)(Begin)Close (y/o OnAbort), no en un destructor.Put your cleanup code in (On)(Begin)Close (and/or OnAbort), not in a destructor.

  • Evite los destructores; hacen que el compilador genere automáticamente IDisposableAvoid destructors; they cause the compiler to auto-generate IDisposable.

  • Evite los miembros sin referencia; pueden hacer que el compilador genere automáticamente IDisposable.Avoid non-reference members; they can cause the compiler to auto-generate IDisposable.

  • Evite los finalizadores; pero si incluye uno, debería suprimir la advertencia de creación y llamar a SuppressFinalize(Object) y al propio finalizador de (On)(Begin)Close (y/o OnAbort) para emular lo que habría sido el comportamiento de IDisposable generado automáticamente.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.

Constructores

ServiceHostBase() ServiceHostBase() ServiceHostBase() ServiceHostBase()

Inicializa una nueva instancia de la clase ServiceHostBase.Initializes a new instance of the ServiceHostBase class.

Propiedades

Authentication Authentication Authentication Authentication

Obtiene el comportamiento de autenticación de servicio.Gets the service authentication behavior.

Authorization Authorization Authorization Authorization

Obtiene el comportamiento de la autorización para el servicio hospedado.Gets the authorization behavior for the service hosted.

BaseAddresses BaseAddresses BaseAddresses BaseAddresses

Obtiene las direcciones base utilizadas por el servicio hospedado.Gets the base addresses used by the hosted service.

ChannelDispatchers ChannelDispatchers ChannelDispatchers ChannelDispatchers

Obtiene la colección de distribuidores del canal utilizados por el host del servicio.Gets the collection of channel dispatchers used by the service host.

CloseTimeout CloseTimeout CloseTimeout CloseTimeout

Obtiene o establece el intervalo de tiempo permitido para que el host del servicio se cierre.Gets or sets the interval of time allowed for the service host to close.

Credentials Credentials Credentials Credentials

Obtiene la credencial para el servicio hospedado.Gets the credential for the service hosted.

DefaultCloseTimeout DefaultCloseTimeout DefaultCloseTimeout DefaultCloseTimeout

Obtiene o establece el intervalo de tiempo predeterminado permitido para que el host del servicio se cierre.Gets the default interval of time allowed for the service host to close.

DefaultOpenTimeout DefaultOpenTimeout DefaultOpenTimeout DefaultOpenTimeout

Obtiene el intervalo de tiempo predeterminado permitido para que el host del servicio se abra.Gets the default interval of time allowed for the service host to open.

Description Description Description Description

Obtiene la descripción del servicio hospedado.Gets the description of the service hosted.

Extensions Extensions Extensions Extensions

Obtiene las extensiones para el host del servicio actual especificado.Gets the extensions for the current specified service host.

ImplementedContracts ImplementedContracts ImplementedContracts ImplementedContracts

Recupera los contratos implementados por el servicio hospedado.Retrieves the contracts implemented by the service hosted.

IsDisposed IsDisposed IsDisposed IsDisposed

Obtiene un valor que indica si el objeto de comunicación se ha eliminado.Gets a value that indicates whether the communication object has been disposed.

(Inherited from CommunicationObject)
ManualFlowControlLimit ManualFlowControlLimit ManualFlowControlLimit ManualFlowControlLimit

Obtiene o establece el límite del control de flujo para los mensajes recibidos por el servicio hospedado.Gets or sets the flow control limit for messages received by the service hosted.

OpenTimeout OpenTimeout OpenTimeout OpenTimeout

Obtiene o establece el intervalo de tiempo permitido para que el host del servicio se abra.Gets or sets the interval of time allowed for the service host to open.

State State State State

Obtiene un valor que indica el estado actual del objeto de comunicación.Gets a value that indicates the current state of the communication object.

(Inherited from CommunicationObject)
ThisLock ThisLock ThisLock ThisLock

Obtiene el bloqueo mutuamente excluyente que protege la instancia de clase durante una transición de estado.Gets the mutually exclusive lock that protects the class instance during a state transition.

(Inherited from CommunicationObject)

Métodos

Abort() Abort() Abort() Abort()

Provoca que un objeto de comunicación pase inmediatamente de su estado actual al estado de cierre.Causes a communication object to transition immediately from its current state into the closing state.

(Inherited from CommunicationObject)
AddBaseAddress(Uri) AddBaseAddress(Uri) AddBaseAddress(Uri) AddBaseAddress(Uri)

Agrega una dirección base al host de servicio.Adds a base address to the service host.

AddDefaultEndpoints() AddDefaultEndpoints() AddDefaultEndpoints() AddDefaultEndpoints()

Agrega puntos de conexión de servicio para todas las direcciones base en cada contrato encontrado en el host del servicio con el enlace predeterminado.Adds service endpoints for all base addresses in each contract found in the service host with the default binding.

AddServiceEndpoint(ServiceEndpoint) AddServiceEndpoint(ServiceEndpoint) AddServiceEndpoint(ServiceEndpoint) AddServiceEndpoint(ServiceEndpoint)

Agrega el extremo de servicio especificado al servicio hospedado.Adds the specified service endpoint to the hosted service.

AddServiceEndpoint(String, Binding, String) AddServiceEndpoint(String, Binding, String) AddServiceEndpoint(String, Binding, String) AddServiceEndpoint(String, Binding, String)

Agrega un punto de conexión de servicio al servicio hospedado con un contrato especificado, un enlace y una dirección del punto de conexión.Adds a service endpoint to the hosted service with a specified contract, binding, and endpoint address.

AddServiceEndpoint(String, Binding, String, Uri) AddServiceEndpoint(String, Binding, String, Uri) AddServiceEndpoint(String, Binding, String, Uri) AddServiceEndpoint(String, Binding, String, Uri)

Agrega un punto de conexión de servicio al servicio hospedado con un contrato especificado, un enlace, una dirección del punto de conexión y un URI que contiene la dirección en la que realiza escuchas.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.

AddServiceEndpoint(String, Binding, Uri) AddServiceEndpoint(String, Binding, Uri) AddServiceEndpoint(String, Binding, Uri) AddServiceEndpoint(String, Binding, Uri)

Agrega un punto de conexión de servicio al servicio hospedado con un contrato especificado, un enlace y un URI que contiene la dirección del punto de conexión.Adds a service endpoint to the hosted service with a specified contract, binding, and a URI that contains the endpoint address.

AddServiceEndpoint(String, Binding, Uri, Uri) AddServiceEndpoint(String, Binding, Uri, Uri) AddServiceEndpoint(String, Binding, Uri, Uri) AddServiceEndpoint(String, Binding, Uri, Uri)

Agrega un punto de conexión de servicio al servicio hospedado con un contrato especificado, un enlace y URI que contienen la dirección del punto de conexión y la de escuchaAdds a service endpoint to the hosted service with the specified contract, binding, and URIs that contain the endpoint and listening addresses.

ApplyConfiguration() ApplyConfiguration() ApplyConfiguration() ApplyConfiguration()

Carga la información de descripción de servicio del archivo de configuración y la aplica al tiempo de ejecución que se está construyendo.Loads the service description information from the configuration file and applies it to the runtime being constructed.

BeginClose(AsyncCallback, Object) BeginClose(AsyncCallback, Object) BeginClose(AsyncCallback, Object) BeginClose(AsyncCallback, Object)

Comienza una operación asincrónica para cerrar un objeto de comunicación.Begins an asynchronous operation to close a communication object.

(Inherited from CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object) BeginClose(TimeSpan, AsyncCallback, Object) BeginClose(TimeSpan, AsyncCallback, Object) BeginClose(TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica para cerrar un objeto de comunicación con un tiempo de espera especificado.Begins an asynchronous operation to close a communication object with a specified timeout.

(Inherited from CommunicationObject)
BeginOpen(AsyncCallback, Object) BeginOpen(AsyncCallback, Object) BeginOpen(AsyncCallback, Object) BeginOpen(AsyncCallback, Object)

Comienza una operación asincrónica para abrir un objeto de comunicación.Begins an asynchronous operation to open a communication object.

(Inherited from CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object) BeginOpen(TimeSpan, AsyncCallback, Object) BeginOpen(TimeSpan, AsyncCallback, Object) BeginOpen(TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica para abrir un objeto de comunicación dentro de un intervalo de tiempo especificado.Begins an asynchronous operation to open a communication object within a specified interval of time.

(Inherited from CommunicationObject)
Close() Close() Close() Close()

Provoca que un objeto de comunicación pase de su estado actual al estado cerrado.Causes a communication object to transition from its current state into the closed state.

(Inherited from CommunicationObject)
Close(TimeSpan) Close(TimeSpan) Close(TimeSpan) Close(TimeSpan)

Provoca que un objeto de comunicación pase su estado actual al estado cerrado dentro de un intervalo de tiempo especificado.Causes a communication object to transition from its current state into the closed state within a specified interval of time.

(Inherited from CommunicationObject)
CreateDescription(IDictionary<String,ContractDescription>) CreateDescription(IDictionary<String,ContractDescription>) CreateDescription(IDictionary<String,ContractDescription>) CreateDescription(IDictionary<String,ContractDescription>)

Cuando se implementa en una clase derivada, crea la descripción del servicio hospedado.When implemented in a derived class, creates the description of the hosted service.

EndClose(IAsyncResult) EndClose(IAsyncResult) EndClose(IAsyncResult) EndClose(IAsyncResult)

Completa una operación asincrónica para cerrar un objeto de comunicación.Completes an asynchronous operation to close a communication object.

(Inherited from CommunicationObject)
EndOpen(IAsyncResult) EndOpen(IAsyncResult) EndOpen(IAsyncResult) EndOpen(IAsyncResult)

Completa una operación asincrónica para abrir un objeto de comunicación.Completes an asynchronous operation to open a communication object.

(Inherited from CommunicationObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Fault() Fault() Fault() Fault()

Provoca que un objeto de comunicación pase de su estado actual al estado de error.Causes a communication object to transition from its current state into the faulted state.

(Inherited from CommunicationObject)
GetCommunicationObjectType() GetCommunicationObjectType() GetCommunicationObjectType() GetCommunicationObjectType()

Obtiene el tipo de objeto de comunicación.Gets the type of communication object.

(Inherited from CommunicationObject)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

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

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
IncrementManualFlowControlLimit(Int32) IncrementManualFlowControlLimit(Int32) IncrementManualFlowControlLimit(Int32) IncrementManualFlowControlLimit(Int32)

Aumenta el límite en la tasa de flujo de mensajes al servicio hospedado en un incremento especificado.Increases the limit on the flow rate of messages to the hosted service by a specified increment.

InitializeDescription(UriSchemeKeyedCollection) InitializeDescription(UriSchemeKeyedCollection) InitializeDescription(UriSchemeKeyedCollection) InitializeDescription(UriSchemeKeyedCollection)

Crea e inicializa el host del servicio con las descripciones de servicio y contrato.Creates and initializes the service host with the contract and service descriptions.

InitializeRuntime() InitializeRuntime() InitializeRuntime() InitializeRuntime()

Inicializa el tiempo de ejecución para el host del servicio.Initializes the runtime for the service host.

LoadConfigurationSection(ServiceElement) LoadConfigurationSection(ServiceElement) LoadConfigurationSection(ServiceElement) LoadConfigurationSection(ServiceElement)

Carga el elemento de servicio desde el archivo de configuración o el servicio hospedado.Loads the service element from the configuration file of the hosted service.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
OnAbort() OnAbort() OnAbort() OnAbort()

Anula el servicio.Aborts the service.

OnBeginClose(TimeSpan, AsyncCallback, Object) OnBeginClose(TimeSpan, AsyncCallback, Object) OnBeginClose(TimeSpan, AsyncCallback, Object) OnBeginClose(TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica invocada en el cierre del host del servicio.Begins an asynchronous operation invoked on the close of the service host.

OnBeginOpen(TimeSpan, AsyncCallback, Object) OnBeginOpen(TimeSpan, AsyncCallback, Object) OnBeginOpen(TimeSpan, AsyncCallback, Object) OnBeginOpen(TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica invocada en la apertura del host del servicio.Begins an asynchronous operation invoked on the opening of the service host.

OnClose(TimeSpan) OnClose(TimeSpan) OnClose(TimeSpan) OnClose(TimeSpan)

Cierra el servicio hospedado, incluso sus distribuidores de canal y sus contextos de instancia y agentes de escucha asociados.Closes down the hosted service, including their channel dispatchers and associated instance contexts and listeners.

OnClosed() OnClosed() OnClosed() OnClosed()

Libera los recursos utilizados por el host de servicio.Releases resources used by the service host.

OnClosing() OnClosing() OnClosing() OnClosing()

Se invoca durante la transición de un objeto de comunicación al estado de cierre.Invoked during the transition of a communication object into the closing state.

(Inherited from CommunicationObject)
OnEndClose(IAsyncResult) OnEndClose(IAsyncResult) OnEndClose(IAsyncResult) OnEndClose(IAsyncResult)

Completa una operación asincrónica invocada en el cierre del host del servicio.Completes an asynchronous operation invoked on the closing of the service host.

OnEndOpen(IAsyncResult) OnEndOpen(IAsyncResult) OnEndOpen(IAsyncResult) OnEndOpen(IAsyncResult)

Completa una operación asincrónica invocada en la apertura del host del servicio.Completes an asynchronous operation invoked on the opening of the service host.

OnFaulted() OnFaulted() OnFaulted() OnFaulted()

Inserta el procesamiento en un objeto de comunicación después de que éste pase al estado de error debido a la invocación de una operación sincrónica de error.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)
OnOpen(TimeSpan) OnOpen(TimeSpan) OnOpen(TimeSpan) OnOpen(TimeSpan)

Abre los distribuidores del canal.Opens the channel dispatchers.

OnOpened() OnOpened() OnOpened() OnOpened()

Obtiene las credenciales de servicio, la autenticación de servicio y el comportamiento de autorización del servicio hospedado.Gets the service credentials,service authentication and authorization behavior for the hosted service.

OnOpening() OnOpening() OnOpening() OnOpening()

Se invoca durante la transición de un objeto de comunicación al estado de abriendo.Invoked during the transition of a communication object into the opening state.

(Inherited from CommunicationObject)
Open() Open() Open() Open()

Hace que un objeto de comunicación pase del estado creado al estado abierto.Causes a communication object to transition from the created state into the opened state.

(Inherited from CommunicationObject)
Open(TimeSpan) Open(TimeSpan) Open(TimeSpan) Open(TimeSpan)

Hace que un objeto de comunicación pase del estado creado al estado abierto dentro de un intervalo de tiempo especificado.Causes a communication object to transition from the created state into the opened state within a specified interval of time.

(Inherited from CommunicationObject)
ReleasePerformanceCounters() ReleasePerformanceCounters() ReleasePerformanceCounters() ReleasePerformanceCounters()

Libera el servicio y los contadores de rendimiento de distribuidor de canal para el servicio hospedado.Releases the service and channel dispatcher performance counters for the hosted service.

SetEndpointAddress(ServiceEndpoint, String) SetEndpointAddress(ServiceEndpoint, String) SetEndpointAddress(ServiceEndpoint, String) SetEndpointAddress(ServiceEndpoint, String)

Establece la dirección del extremo especificado en la dirección especificada.Sets the endpoint address of the specified endpoint to the specified address.

ThrowIfDisposed() ThrowIfDisposed() ThrowIfDisposed() ThrowIfDisposed()

Produce una excepción si se elimina el objeto de comunicación.Throws an exception if the communication object is disposed.

(Inherited from CommunicationObject)
ThrowIfDisposedOrImmutable() ThrowIfDisposedOrImmutable() ThrowIfDisposedOrImmutable() ThrowIfDisposedOrImmutable()

Produce una excepción si en el objeto de comunicación la propiedad State no está establecida en el estado Created.Throws an exception if the communication object the State property is not set to the Created state.

(Inherited from CommunicationObject)
ThrowIfDisposedOrNotOpen() ThrowIfDisposedOrNotOpen() ThrowIfDisposedOrNotOpen() ThrowIfDisposedOrNotOpen()

Produce una excepción si el objeto de comunicación no está en el estado Opened.Throws an exception if the communication object is not in the Opened state.

(Inherited from CommunicationObject)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Eventos

Closed Closed Closed Closed

Se produce cuando un objeto de comunicación realiza una transición al estado de cerrado.Occurs when a communication object transitions into the closed state.

(Inherited from CommunicationObject)
Closing Closing Closing Closing

Se produce cuando un objeto de comunicación realiza una transición al estado de cerrando.Occurs when a communication object transitions into the closing state.

(Inherited from CommunicationObject)
Faulted Faulted Faulted Faulted

Se produce cuando un objeto de comunicación realiza una transición al estado de error.Occurs when a communication object transitions into the faulted state.

(Inherited from CommunicationObject)
Opened Opened Opened Opened

Se produce cuando un objeto de comunicación realiza una transición al estado de abierto.Occurs when a communication object transitions into the opened state.

(Inherited from CommunicationObject)
Opening Opening Opening Opening

Se produce cuando un objeto de comunicación realiza una transición al estado de abriendo.Occurs when a communication object transitions into the opening state.

(Inherited from CommunicationObject)
UnknownMessageReceived UnknownMessageReceived UnknownMessageReceived UnknownMessageReceived

Se produce cuando se recibe un mensaje desconocido.Occurs when an unknown message is received.

Implementaciones de interfaz explícitas

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Cierra el host del servicio.Closes the service host.

Se aplica a