ServiceHostBase Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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. |