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
|
ServiceHostBase (Clase)
Extienda la clase ServiceHostBase para implementar hosts que exponen los modelos de programación personalizados.
Ensamblado: System.ServiceModel (en System.ServiceModel.dll)
El tipo ServiceHostBase expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
ServiceHostBase | Inicializa una instancia nueva de la clase ServiceHostBase. |
| Nombre | Descripción | |
|---|---|---|
|
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. (Invalida a CommunicationObject.DefaultCloseTimeout). |
|
DefaultOpenTimeout | Obtiene el intervalo de tiempo predeterminado permitido para que el host del servicio se abra. (Invalida a CommunicationObject.DefaultOpenTimeout). |
|
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. (Se hereda 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. (Se hereda de CommunicationObject). |
|
ThisLock | Obtiene el bloqueo mutuamente excluyente que protege la instancia de clase durante una transición de estado. (Se hereda de CommunicationObject). |
| Nombre | Descripción | |
|---|---|---|
|
Abort | Provoca que un objeto de comunicación pase inmediatamente de su estado actual al estado de cierre. (Se hereda de CommunicationObject). |
|
AddBaseAddress | Agrega una dirección base al host del servicio. |
|
AddDefaultEndpoints | Agrega extremos 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 extremo de servicio al servicio hospedado con un contrato especificado, un enlace y una dirección del extremo. |
|
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. |
|
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. |
|
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 |
|
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. (Se hereda 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. (Se hereda de CommunicationObject). |
|
BeginOpen(AsyncCallback, Object) | Comienza una operación asincrónica para abrir un objeto de comunicación. (Se hereda de CommunicationObject). |
|
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). |
|
Close() | Provoca que un objeto de comunicación pase de su estado actual al estado cerrado. (Se hereda 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. (Se hereda de CommunicationObject). |
|
CreateDescription | Cuando se implementa en una clase derivada, crea la descripción del servicio hospedado. |
|
EndClose | Completa una operación asincrónica para cerrar un objeto de comunicación. (Se hereda de CommunicationObject). |
|
EndOpen | Completa una operación asincrónica para abrir un objeto de comunicación. (Se hereda de CommunicationObject). |
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
Fault | Provoca que un objeto de comunicación pase de su estado actual al estado de error. (Se hereda de CommunicationObject). |
|
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). |
|
GetCommunicationObjectType | Obtiene el tipo de objeto de comunicación. (Se hereda de CommunicationObject). |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
IncrementManualFlowControlLimit | Aumenta el límite en la tasa de flujo de mensajes al servicio hospedado en un incremento especificado. |
|
InitializeDescription | 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 | Carga el elemento de servicio desde el archivo de configuración o el servicio hospedado. |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
OnAbort | Anula el servicio. (Invalida a CommunicationObject.OnAbort()). |
|
OnBeginClose | Comienza una operación asincrónica invocada en el cierre del host del servicio. (Invalida a CommunicationObject.OnBeginClose(TimeSpan, AsyncCallback, Object)). |
|
OnBeginOpen | Comienza una operación asincrónica invocada en la apertura del host del servicio. (Invalida a CommunicationObject.OnBeginOpen(TimeSpan, AsyncCallback, Object)). |
|
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)). |
|
OnClosed | Libera los recursos utilizados por el host de servicio. (Invalida a CommunicationObject.OnClosed()). |
|
OnClosing | Se invoca durante la transición de un objeto de comunicación al estado de cierre. (Se hereda de CommunicationObject). |
|
OnEndClose | Completa una operación asincrónica invocada en el cierre del host del servicio. (Invalida a CommunicationObject.OnEndClose(IAsyncResult)). |
|
OnEndOpen | Completa una operación asincrónica invocada en la apertura del host del servicio. (Invalida a CommunicationObject.OnEndOpen(IAsyncResult)). |
|
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). |
|
OnOpen | Abre los distribuidores del canal. (Invalida a CommunicationObject.OnOpen(TimeSpan)). |
|
OnOpened | Obtiene las credenciales de servicio, la autenticación de servicio y el comportamiento de autorización del servicio hospedado. (Invalida a CommunicationObject.OnOpened()). |
|
OnOpening | Se invoca durante la transición de un objeto de comunicación al estado de abriendo. (Se hereda de CommunicationObject). |
|
Open() | Provoca que pase un objeto de comunicación desde el estado creado al estado abierto. (Se hereda de CommunicationObject). |
|
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). |
|
ReleasePerformanceCounters | Libera el servicio y los contadores de rendimiento de distribuidor de canal para el servicio hospedado. |
|
SetEndpointAddress | Establece la dirección del extremo especificado en la dirección especificada. |
|
ThrowIfDisposed | Produce una excepción si se elimina el objeto de comunicación. (Se hereda de CommunicationObject). |
|
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). |
|
ThrowIfDisposedOrNotOpen | Produce una excepción si el objeto de comunicación no está en el estado Opened. (Se hereda de CommunicationObject). |
|
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
| Nombre | Descripción | |
|---|---|---|
|
Closed | Se produce cuando un objeto de comunicación realiza una transición al estado de cerrado. (Se hereda de CommunicationObject). |
|
Closing | Se produce cuando un objeto de comunicación realiza una transición al estado de cerrando. (Se hereda de CommunicationObject). |
|
Faulted | Se produce cuando un objeto de comunicación realiza una transición al estado de error. (Se hereda de CommunicationObject). |
|
Opened | Se produce cuando un objeto de comunicación realiza una transición al estado de abierto. (Se hereda de CommunicationObject). |
|
Opening | Se produce cuando un objeto de comunicación realiza una transición al estado de abriendo. (Se hereda de CommunicationObject). |
|
UnknownMessageReceived | Se produce cuando se recibe un mensaje desconocido. |
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(); } } }
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.