ServiceHostBase Clase

Definición

Extiende la ServiceHostBase clase para implementar hosts que exponen 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 del servicio Windows Communication Foundation (WCF) usa la clase ServiceHost.

Nota especial para los usuarios de C++ administrados derivados de esta clase:

  • Coloque el código de limpieza en (On)(Begin)Close (and/or OnAbort), no en un destructor.
  • Evitar destructores; hacen que el compilador genere IDisposableautomáticamente .
  • Evitar miembros que no sean de referencia; pueden hacer que el compilador genere IDisposableautomáticamente .
  • Evitar finalizadores; pero si incluye uno, debe suprimir la advertencia de compilación y llamar SuppressFinalize(Object) a y al finalizador desde (On)(Begin)Close (y/o OnAbort) para emular lo que habría sido el comportamiento generado IDisposable automáticamente.

Constructores

Nombre Description
ServiceHostBase()

Inicializa una nueva instancia de la clase ServiceHostBase.

Propiedades

Nombre Description
Authentication

Obtiene el comportamiento de autenticación del servicio.

Authorization

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

BaseAddresses

Obtiene las direcciones base usadas por el servicio hospedado.

ChannelDispatchers

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

CloseTimeout

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

Credentials

Obtiene la credencial del servicio hospedado.

DefaultCloseTimeout

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

DefaultOpenTimeout

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

Description

Obtiene la descripción del servicio hospedado.

Extensions

Obtiene las extensiones para el host de servicio especificado actual.

ImplementedContracts

Recupera los contratos implementados por el servicio hospedado.

IsDisposed

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

(Heredado de CommunicationObject)
ManualFlowControlLimit

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

OpenTimeout

Obtiene o establece el intervalo de tiempo permitido para que el host de 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

Nombre Description
Abort()

Hace 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 de cada contrato que se encuentran en el host de servicio con el enlace predeterminado.

AddServiceEndpoint(ServiceEndpoint)

Agrega el punto de conexión de servicio especificado al servicio hospedado.

AddServiceEndpoint(String, Binding, String, Uri)

Agrega un punto de conexión de servicio al servicio hospedado con un contrato, enlace, dirección de punto de conexión y URI especificados que contiene la dirección en la que escucha.

AddServiceEndpoint(String, Binding, String)

Agrega un punto de conexión de servicio al servicio hospedado con un contrato, enlace y dirección de punto de conexión especificados.

AddServiceEndpoint(String, Binding, Uri, Uri)

Agrega un punto de conexión de servicio al servicio hospedado con el contrato, el enlace y los URI especificados que contienen el punto de conexión y las direcciones de escucha.

AddServiceEndpoint(String, Binding, Uri)

Agrega un punto de conexión de servicio al servicio hospedado con un contrato, un enlace y un URI especificados que contiene la dirección del punto de conexión.

ApplyConfiguration()

Carga la información de descripción del servicio del archivo de configuración y la aplica al tiempo de ejecución que se va a construir.

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

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

(Heredado de CommunicationObject)
Close(TimeSpan)

Hace que un objeto de comunicación pase de 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 al objeto actual.

(Heredado de Object)
Fault()

Hace que un objeto de comunicación pase de su estado actual al estado defectuoso.

(Heredado de CommunicationObject)
GetCommunicationObjectType()

Obtiene el tipo de objeto de comunicación.

(Heredado de CommunicationObject)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IncrementManualFlowControlLimit(Int32)

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

InitializeDescription(UriSchemeKeyedCollection)

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

InitializeRuntime()

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

LoadConfigurationSection(ServiceElement)

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

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
OnAbort()

Anula el servicio.

OnBeginClose(TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica invocada al cierre del host de servicio.

OnBeginOpen(TimeSpan, AsyncCallback, Object)

Comienza una operación asincrónica invocada al abrir el host de servicio.

OnClose(TimeSpan)

Cierra el servicio hospedado, incluidos sus distribuidores de canales y contextos de instancia asociados y agentes de escucha.

OnClosed()

Libera los recursos usados 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 al cerrar el host de servicio.

OnEndOpen(IAsyncResult)

Completa una operación asincrónica invocada al abrir el host de servicio.

OnFaulted()

Inserta el procesamiento en un objeto de comunicación después de realizar la transición al estado defectuoso debido a la invocación de una operación de error sincrónica.

(Heredado de CommunicationObject)
OnOpen(TimeSpan)

Abre los distribuidores del canal.

OnOpened()

Obtiene las credenciales de servicio, la autenticación del 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 apertura.

(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 los contadores de rendimiento del servicio y del distribuidor del canal para el servicio hospedado.

SetEndpointAddress(ServiceEndpoint, String)

Establece la dirección del punto de conexió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 el objeto de comunicación que la State propiedad no está establecida en el Created estado .

(Heredado de CommunicationObject)
ThrowIfDisposedOrNotOpen()

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

(Heredado de CommunicationObject)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Eventos

Nombre Description
Closed

Se produce cuando un objeto de comunicación pasa al estado cerrado.

(Heredado de CommunicationObject)
Closing

Se produce cuando un objeto de comunicación pasa al estado de cierre.

(Heredado de CommunicationObject)
Faulted

Se produce cuando un objeto de comunicación pasa al estado defectuoso.

(Heredado de CommunicationObject)
Opened

Se produce cuando un objeto de comunicación pasa al estado abierto.

(Heredado de CommunicationObject)
Opening

Se produce cuando un objeto de comunicación pasa al estado de apertura.

(Heredado de CommunicationObject)
UnknownMessageReceived

Se produce cuando se recibe un mensaje desconocido.

Implementaciones de interfaz explícitas

Nombre Description
IDisposable.Dispose()

Cierra el host del servicio.

Se aplica a