Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

ServiceHostBase (Clase)

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

Espacio de nombres:  System.ServiceModel
Ensamblado:  System.ServiceModel (en System.ServiceModel.dll)
public abstract class ServiceHostBase : CommunicationObject, 
	IExtensibleObject<ServiceHostBase>, IDisposable

El tipo ServiceHostBase expone los siguientes miembros.

  Nombre Descripción
Método protegido ServiceHostBase Inicializa una instancia nueva de la clase ServiceHostBase.
Arriba
  Nombre Descripción
Propiedad pública Authentication Obtiene el comportamiento de autenticación de servicio.
Propiedad pública Authorization Obtiene el comportamiento de la autorización para el servicio hospedado.
Propiedad pública BaseAddresses Obtiene las direcciones base utilizadas por el servicio hospedado.
Propiedad pública ChannelDispatchers Obtiene la colección de distribuidores del canal utilizados por el host del servicio.
Propiedad pública CloseTimeout Obtiene o establece el intervalo de tiempo permitido para que el host del servicio se cierre.
Propiedad pública Credentials Obtiene la credencial para el servicio hospedado.
Propiedad protegida DefaultCloseTimeout Obtiene o establece el intervalo de tiempo predeterminado permitido para que el host del servicio se cierre. (Invalida a CommunicationObject.DefaultCloseTimeout).
Propiedad protegida DefaultOpenTimeout Obtiene el intervalo de tiempo predeterminado permitido para que el host del servicio se abra. (Invalida a CommunicationObject.DefaultOpenTimeout).
Propiedad pública Description Obtiene la descripción del servicio hospedado.
Propiedad pública Extensions Obtiene las extensiones para el host del servicio actual especificado.
Propiedad protegida ImplementedContracts Recupera los contratos implementados por el servicio hospedado.
Propiedad protegida IsDisposed Obtiene un valor que indica si el objeto de comunicación se ha eliminado. (Se hereda de CommunicationObject).
Propiedad pública ManualFlowControlLimit Obtiene o establece el límite del control de flujo para los mensajes recibidos por el servicio hospedado.
Propiedad pública OpenTimeout Obtiene o establece el intervalo de tiempo permitido para que el host del servicio se abra.
Propiedad pública State Obtiene un valor que indica el estado actual del objeto de comunicación. (Se hereda de CommunicationObject).
Propiedad protegida ThisLock Obtiene el bloqueo mutuamente excluyente que protege la instancia de clase durante una transición de estado. (Se hereda de CommunicationObject).
Arriba
  Nombre Descripción
Método público Abort Provoca que un objeto de comunicación pase inmediatamente de su estado actual al estado de cierre. (Se hereda de CommunicationObject).
Método protegido AddBaseAddress Agrega una dirección base al host del servicio.
Método público AddDefaultEndpoints Agrega extremos de servicio para todas las direcciones base en cada contrato encontrado en el host del servicio con el enlace predeterminado.
Método público AddServiceEndpoint(ServiceEndpoint) Agrega el extremo de servicio especificado al servicio hospedado.
Método público AddServiceEndpoint(String, Binding, String) Agrega un extremo de servicio al servicio hospedado con un contrato especificado, un enlace y una dirección del extremo.
Método público AddServiceEndpoint(String, Binding, Uri) Agrega un extremo de servicio al servicio hospedado con un contrato especificado, un enlace y un URI que contiene la dirección del extremo.
Método público AddServiceEndpoint(String, Binding, String, Uri) Agrega un extremo de servicio al servicio hospedado con un contrato especificado, un enlace, una dirección del extremo y un URI que contiene la dirección en la que realiza escuchas.
Método público AddServiceEndpoint(String, Binding, Uri, Uri) Agrega un extremo de servicio al servicio hospedado con un contrato especificado, un enlace y URI que contienen la dirección del extremo y la de escucha
Método protegido 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.
Método público BeginClose(AsyncCallback, Object) Comienza una operación asincrónica para cerrar un objeto de comunicación. (Se hereda de CommunicationObject).
Método público BeginClose(TimeSpan, AsyncCallback, Object) Comienza una operación asincrónica para cerrar un objeto de comunicación con un tiempo de espera especificado. (Se hereda de CommunicationObject).
Método público BeginOpen(AsyncCallback, Object) Comienza una operación asincrónica para abrir un objeto de comunicación. (Se hereda de CommunicationObject).
Método público BeginOpen(TimeSpan, AsyncCallback, Object) Comienza una operación asincrónica para abrir un objeto de comunicación dentro de un intervalo especificado de tiempo. (Se hereda de CommunicationObject).
Método público Close() Provoca que un objeto de comunicación pase de su estado actual al estado cerrado. (Se hereda de CommunicationObject).
Método público Close(TimeSpan) Provoca que un objeto de comunicación pase su estado actual al estado cerrado dentro de un intervalo de tiempo especificado. (Se hereda de CommunicationObject).
Método protegido CreateDescription Cuando se implementa en una clase derivada, crea la descripción del servicio hospedado.
Método público EndClose Completa una operación asincrónica para cerrar un objeto de comunicación. (Se hereda de CommunicationObject).
Método público EndOpen Completa una operación asincrónica para abrir un objeto de comunicación. (Se hereda de CommunicationObject).
Método público Equals(Object) Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido Fault Provoca que un objeto de comunicación pase de su estado actual al estado de error. (Se hereda de CommunicationObject).
Método protegido Finalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método protegido GetCommunicationObjectType Obtiene el tipo de objeto de comunicación. (Se hereda de CommunicationObject).
Método público GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público IncrementManualFlowControlLimit Aumenta el límite en la tasa de flujo de mensajes al servicio hospedado en un incremento especificado.
Método protegido InitializeDescription Crea e inicializa el host del servicio con las descripciones de servicio y contrato.
Método protegido InitializeRuntime Inicializa el tiempo de ejecución para el host del servicio.
Método protegido LoadConfigurationSection Carga el elemento de servicio desde el archivo de configuración o el servicio hospedado.
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método protegido OnAbort Anula el servicio. (Invalida a CommunicationObject.OnAbort()).
Método protegido OnBeginClose Comienza una operación asincrónica invocada en el cierre del host del servicio. (Invalida a CommunicationObject.OnBeginClose(TimeSpan, AsyncCallback, Object)).
Método protegido OnBeginOpen Comienza una operación asincrónica invocada en la apertura del host del servicio. (Invalida a CommunicationObject.OnBeginOpen(TimeSpan, AsyncCallback, Object)).
Método protegido OnClose Cierra el servicio hospedado, incluso sus distribuidores de canal y sus contextos de instancia y agentes de escucha asociados. (Invalida a CommunicationObject.OnClose(TimeSpan)).
Método protegido OnClosed Libera los recursos utilizados por el host de servicio. (Invalida a CommunicationObject.OnClosed()).
Método protegido OnClosing Se invoca durante la transición de un objeto de comunicación al estado de cierre. (Se hereda de CommunicationObject).
Método protegido OnEndClose Completa una operación asincrónica invocada en el cierre del host del servicio. (Invalida a CommunicationObject.OnEndClose(IAsyncResult)).
Método protegido OnEndOpen Completa una operación asincrónica invocada en la apertura del host del servicio. (Invalida a CommunicationObject.OnEndOpen(IAsyncResult)).
Método protegido 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. (Se hereda de CommunicationObject).
Método protegido OnOpen Abre los distribuidores del canal. (Invalida a CommunicationObject.OnOpen(TimeSpan)).
Método protegido OnOpened Obtiene las credenciales de servicio, la autenticación de servicio y el comportamiento de autorización del servicio hospedado. (Invalida a CommunicationObject.OnOpened()).
Método protegido OnOpening Se invoca durante la transición de un objeto de comunicación al estado de abriendo. (Se hereda de CommunicationObject).
Método público Open() Provoca que pase un objeto de comunicación desde el estado creado al estado abierto. (Se hereda de CommunicationObject).
Método público Open(TimeSpan) Provoca que un objeto de comunicación pase del estado creado al estado abierto dentro de un intervalo de tiempo especificado. (Se hereda de CommunicationObject).
Método protegido ReleasePerformanceCounters Libera el servicio y los contadores de rendimiento de distribuidor de canal para el servicio hospedado.
Método público SetEndpointAddress Establece la dirección del extremo especificado en la dirección especificada.
Método protegido ThrowIfDisposed Produce una excepción si se elimina el objeto de comunicación. (Se hereda de CommunicationObject).
Método protegido ThrowIfDisposedOrImmutable Produce una excepción si en el objeto de comunicación la propiedad State no está establecida en el estado Created. (Se hereda de CommunicationObject).
Método protegido ThrowIfDisposedOrNotOpen Produce una excepción si el objeto de comunicación no está en el estado Opened. (Se hereda de CommunicationObject).
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).
Arriba
  Nombre Descripción
Evento público Closed Se produce cuando un objeto de comunicación realiza una transición al estado de cerrado. (Se hereda de CommunicationObject).
Evento público Closing Se produce cuando un objeto de comunicación realiza una transición al estado de cerrando. (Se hereda de CommunicationObject).
Evento público Faulted Se produce cuando un objeto de comunicación realiza una transición al estado de error. (Se hereda de CommunicationObject).
Evento público Opened Se produce cuando un objeto de comunicación realiza una transición al estado de abierto. (Se hereda de CommunicationObject).
Evento público Opening Se produce cuando un objeto de comunicación realiza una transición al estado de abriendo. (Se hereda de CommunicationObject).
Evento público UnknownMessageReceived Se produce cuando se recibe un mensaje desconocido.
Arriba
  Nombre Descripción
Implementación explícita de interfaces Método privado IDisposable.Dispose Cierra el host del servicio.
Arriba

Utilice la clase ServiceHostBase para crear hosts que proporcionan un modelo de programación personalizado. El modelo de programación de servicio utiliza la clase ServiceHost.

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.

Este ejemplo utiliza la clase ServiceHost, 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();
    }
  }
}


.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar