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í.
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
- 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. |