ServiceHostBase Clase

Definición

Extienda la clase ServiceHostBase para implementar hosts que exponen los modelos de programación personalizados.

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
ServiceHostBase
Derivado
Implementaciones

Ejemplos

En este ejemplo se usa la ServiceHost clase , que se deriva de 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

Use la ServiceHostBase clase para crear hosts que proporcionen un modelo de programación personalizado. El modelo de programación de servicios de Windows Communication Foundation (WCF) usa la ServiceHost clase .

Nota especial para los usuarios de C++ que deriven de esta clase:

  • Coloque su código de limpieza en (On)(Begin)Close (y/o OnAbort), no en un destructor.

  • Evite los destructores; hacen que el compilador genere automáticamente IDisposable

  • Evite los miembros sin referencia; pueden hacer que el compilador genere automáticamente 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.

Constructores

ServiceHostBase()

Inicializa una nueva instancia de la clase ServiceHostBase.

Propiedades

Authentication

Obtiene el comportamiento de autenticación de servicio.

Authorization

Obtiene el comportamiento de la autorización para el servicio hospedado.

BaseAddresses

Obtiene las direcciones base utilizadas por el servicio hospedado.

ChannelDispatchers

Obtiene la colección de distribuidores del canal utilizados por el host del servicio.

CloseTimeout

Obtiene o establece el intervalo de tiempo permitido para que el host del servicio se cierre.

Credentials

Obtiene la credencial para el servicio hospedado.

DefaultCloseTimeout

Obtiene o establece el intervalo de tiempo predeterminado permitido para que el host del servicio se cierre.

DefaultOpenTimeout

Obtiene el intervalo de tiempo predeterminado permitido para que el host del servicio se abra.

Description

Obtiene la descripción del servicio hospedado.

Extensions

Obtiene las extensiones para el host del servicio actual especificado.

ImplementedContracts

Recupera los contratos implementados por el servicio hospedado.

IsDisposed

Obtiene un valor que indica si el objeto de comunicación se ha eliminado.

(Heredado de CommunicationObject)
ManualFlowControlLimit

Obtiene o establece el límite del control de flujo para los mensajes recibidos por el servicio hospedado.

OpenTimeout

Obtiene o establece el intervalo de tiempo permitido para que el host del servicio se abra.

State

Obtiene un valor que indica el estado actual del objeto de comunicación.

(Heredado de CommunicationObject)
ThisLock

Obtiene el bloqueo mutuamente excluyente que protege la instancia de clase durante una transición de estado.

(Heredado de CommunicationObject)

Métodos

Abort()

Provoca que un objeto de comunicación pase inmediatamente de su estado actual al estado de cierre.

(Heredado de CommunicationObject)
AddBaseAddress(Uri)

Agrega una dirección base al host de servicio.

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.

AddServiceEndpoint(ServiceEndpoint)

Agrega el extremo de servicio especificado al servicio hospedado.

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.

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.

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.

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 escucha

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.

BeginClose(AsyncCallback, Object)

Comienza una operación asincrónica para cerrar un objeto de comunicación.

(Heredado de CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica para cerrar un objeto de comunicación con un tiempo de espera especificado.

(Heredado de CommunicationObject)
BeginOpen(AsyncCallback, Object)

Comienza una operación asincrónica para abrir un objeto de comunicación.

(Heredado de CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica para abrir un objeto de comunicación dentro de un intervalo de tiempo especificado.

(Heredado de CommunicationObject)
Close()

Provoca que un objeto de comunicación pase de su estado actual al estado cerrado.

(Heredado de CommunicationObject)
Close(TimeSpan)

Provoca que un objeto de comunicación pase su estado actual al estado cerrado dentro de un intervalo de tiempo especificado.

(Heredado de CommunicationObject)
CreateDescription(IDictionary<String,ContractDescription>)

Cuando se implementa en una clase derivada, crea la descripción del servicio hospedado.

EndClose(IAsyncResult)

Completa una operación asincrónica para cerrar un objeto de comunicación.

(Heredado de CommunicationObject)
EndOpen(IAsyncResult)

Completa una operación asincrónica para abrir un objeto de comunicación.

(Heredado de CommunicationObject)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Fault()

Provoca que un objeto de comunicación pase de su estado actual al estado de error.

(Heredado de CommunicationObject)
GetCommunicationObjectType()

Obtiene el tipo de objeto de comunicación.

(Heredado de CommunicationObject)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IncrementManualFlowControlLimit(Int32)

Aumenta el límite en la tasa de flujo de mensajes al servicio hospedado en un incremento especificado.

InitializeDescription(UriSchemeKeyedCollection)

Crea e inicializa el host del servicio con las descripciones de servicio y contrato.

InitializeRuntime()

Inicializa el tiempo de ejecución para el host del servicio.

LoadConfigurationSection(ServiceElement)

Carga el elemento de servicio desde el archivo de configuración o el servicio hospedado.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnAbort()

Anula el servicio.

OnBeginClose(TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica invocada en el cierre del host del servicio.

OnBeginOpen(TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica invocada en la apertura del host del servicio.

OnClose(TimeSpan)

Cierra el servicio hospedado, incluso sus distribuidores de canal y sus contextos de instancia y agentes de escucha asociados.

OnClosed()

Libera los recursos utilizados por el host de servicio.

OnClosed()

Se invoca durante la transición de un objeto de comunicación al estado de cierre.

(Heredado de CommunicationObject)
OnClosing()

Se invoca durante la transición de un objeto de comunicación al estado de cierre.

(Heredado de CommunicationObject)
OnEndClose(IAsyncResult)

Completa una operación asincrónica invocada en el cierre del host del servicio.

OnEndOpen(IAsyncResult)

Completa una operación asincrónica invocada en la apertura del host del servicio.

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.

(Heredado de CommunicationObject)
OnOpen(TimeSpan)

Abre los distribuidores del canal.

OnOpened()

Obtiene las credenciales de servicio, la autenticación de servicio y el comportamiento de autorización del servicio hospedado.

OnOpening()

Se invoca durante la transición de un objeto de comunicación al estado de abriendo.

(Heredado de CommunicationObject)
Open()

Hace que un objeto de comunicación pase del estado creado al estado abierto.

(Heredado de CommunicationObject)
Open(TimeSpan)

Hace que un objeto de comunicación pase del estado creado al estado abierto dentro de un intervalo de tiempo especificado.

(Heredado de CommunicationObject)
ReleasePerformanceCounters()

Libera el servicio y los contadores de rendimiento de distribuidor de canal para el servicio hospedado.

SetEndpointAddress(ServiceEndpoint, String)

Establece la dirección del punto de conexión especificado en la dirección especificada.

ThrowIfDisposed()

Produce una excepción si se elimina el objeto de comunicación.

(Heredado de CommunicationObject)
ThrowIfDisposedOrImmutable()

Produce una excepción si en el objeto de comunicación la propiedad State no está establecida en el estado Created.

(Heredado de CommunicationObject)
ThrowIfDisposedOrNotOpen()

Produce una excepción si el objeto de comunicación no está en el estado Opened.

(Heredado de CommunicationObject)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Eventos

Closed

Se produce cuando un objeto de comunicación realiza una transición al estado de cerrado.

(Heredado de CommunicationObject)
Closing

Se produce cuando un objeto de comunicación realiza una transición al estado de cerrando.

(Heredado de CommunicationObject)
Faulted

Se produce cuando un objeto de comunicación realiza una transición al estado de error.

(Heredado de CommunicationObject)
Opened

Se produce cuando un objeto de comunicación realiza una transición al estado de abierto.

(Heredado de CommunicationObject)
Opening

Se produce cuando un objeto de comunicación realiza una transición al estado de abriendo.

(Heredado de CommunicationObject)
UnknownMessageReceived

Se produce cuando se recibe un mensaje desconocido.

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Cierra el host del servicio.

Se aplica a