ServiceHealthBehavior 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í.
Proporciona un comportamiento del servicio Windows Communication Foundation (WCF) que facilita un punto de conexión de mantenimiento.
public ref class ServiceHealthBehavior : System::ServiceModel::Description::ServiceHealthBehaviorBase
public class ServiceHealthBehavior : System.ServiceModel.Description.ServiceHealthBehaviorBase
type ServiceHealthBehavior = class
inherit ServiceHealthBehaviorBase
Public Class ServiceHealthBehavior
Inherits ServiceHealthBehaviorBase
- Herencia
Comentarios
Los puntos de conexión de mantenimiento se usan para realizar comprobaciones de estado que evalúan el estado de un componente. Los puntos de conexión de mantenimiento se pueden usar para:
Notificar a las herramientas de orquestación que eliminen un proceso que produce un error en una comprobación de estado crítica.
Sirva como un indicador de problema temprano para las herramientas de supervisión mediante el seguimiento y la provisión de alertas sobre la disponibilidad y el rendimiento de un servicio.
ServiceHealthBehavior
es un comportamiento del servicio WCF que extiende IServiceBehavior y deriva de ServiceHealthBehaviorBase. Agregar una ServiceHealthBehavior
instancia a la ServiceDescription.Behaviors colección habilita lo siguiente:
Publicación de Service Health: Los detalles específicos del servicio, como el estado del servicio, los recuentos de limitaciones y la capacidad se pueden mostrar mediante una solicitud HTTP/GET con la cadena de
?health
consulta. Conocer y tener fácilmente acceso a la información mostrada es de gran importancia al solucionar problemas de un servicio WCF de comportamiento erróneo.Devolución de códigos de respuesta HTTP: Se puede especificar en la cadena de consulta el código de estado HTTP para una solicitud de sondeo de estado HTTP/GET.
Un punto de conexión de mantenimiento solo es significativo en el contexto del componente cuyo estado supervisa. No tiene ningún otro significado ni propósito. Por lo tanto, su estado es un conducto para el estado del componente. Los clientes deben suponer que el código de respuesta HTTP devuelto por el punto de conexión de mantenimiento es aplicable a todo el componente. Esto es compatible con el comportamiento esperado por las herramientas de infraestructura actuales que usan comprobaciones de estado, como equilibradores de carga, detecciones de servicio y otros.
Habilitación de un punto de conexión de mantenimiento
Hay dos maneras de especificar cómo exponer el punto de conexión de mantenimiento y publicar información de mantenimiento del servicio WCF:
Por medio de un archivo de configuración Por ejemplo:
<behaviors> <serviceBehaviors> <behavior name="DefaultBehavior"> <serviceHealth httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors>
Mediante programación. El fragmento de código siguiente usa C# para exponer el punto de conexión de mantenimiento:
ServiceHost host = new ServiceHost(typeof(Service1), new Uri("http://jconde-dev1:81/Service1")); ServiceHealthBehavior healthBehavior = host.Description.Behaviors.Find<ServiceHealthBehavior>(); if (healthBehavior == null) { healthBehavior = new ServiceHealthBehavior(); } //healthBehavior.HttpGetEnabled = false; //healthBehavior.HttpsGetEnabled = false; host.Description.Behaviors.Add(healthBehavior);
Constructores
ServiceHealthBehavior() |
Inicializa una nueva instancia de la clase ServiceHealthBehavior. |
Propiedades
HasXmlSupport |
Obtiene un valor que indica si se admiten mensajes de respuesta XML. |
HealthDetailsEnabled |
Obtiene o establece un valor que especifica si el punto de conexión de mantenimiento debe devolver los detalles de servicio o si la respuesta no debe incluir contenido. (Heredado de ServiceHealthBehaviorBase) |
HttpGetBinding |
Obtiene o establece el enlace que se usa para la recuperación de mantenimiento a través de una solicitud HTTP/Get. (Heredado de ServiceHealthBehaviorBase) |
HttpGetEnabled |
Obtiene o establece un valor que especifica si publicar los metadatos del servicio para la recuperación utilizando una solicitud HTTP/Get. (Heredado de ServiceHealthBehaviorBase) |
HttpGetUrl |
Obtiene o establece un URI que especifica la dirección en la que los metadatos se publican para la recuperación mediante una solicitud HTTP/Get. (Heredado de ServiceHealthBehaviorBase) |
HttpsGetBinding |
Obtiene o establece el enlace que se usa para la recuperación de mantenimiento a través de una solicitud HTTPS/Get. (Heredado de ServiceHealthBehaviorBase) |
HttpsGetEnabled |
Obtiene o establece un valor que especifica si se publican los metadatos del servicio para la recuperación utilizando una solicitud HTTPS/Get. (Heredado de ServiceHealthBehaviorBase) |
HttpsGetUrl |
Obtiene o establece un URI que especifica la dirección en la que los metadatos se publican para la recuperación mediante una solicitud HTTPS/Get. (Heredado de ServiceHealthBehaviorBase) |
ServiceStartTime |
Obtiene la fecha y hora en la que se inició el servicio de comprobación de mantenimiento. (Heredado de ServiceHealthBehaviorBase) |
Métodos
AddHttpProperty(Message, HttpStatusCode, Boolean) |
Establece el tipo de contenido y el código de estado HTTP del mensaje de respuesta. |
EnsureHttpStatusCode(Int32) |
Asegúrese de que el código de estado HTTP está dentro del intervalo de 200 y 599, ambos inclusive. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetHttpResponseCode(ServiceHostBase, String[]) |
Analiza los campos de cadena de consulta y devuelve su código de respuesta HTTP definido. |
GetServiceHealthSections(ServiceHostBase) |
Obtiene una colección de los objetos ServiceHealthSection definidos en ServiceHealthBehavior. |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
GetXmlDocument(ServiceHostBase) |
Serializa el objeto ServiceHealthModel asociado con los valores especificados |
HandleHealthRequest(ServiceHostBase, Message, String[], Message) |
Devuelve el mensaje de respuesta a una solicitud especificada. |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
TryParseBooleanQueryParameter(String, String, Boolean, Boolean) |
Intenta analizar un parámetro de cadena de consulta Boolean y devuelve un valor que indica si la operación de análisis se realizó correctamente. |
TryParseHttpStatusCodeQueryParameter(String, String, HttpStatusCode, HttpStatusCode) |
Intenta analizar el código de estado HTTP de una variable de cadena de consulta y devuelve un valor que indica si la operación de análisis se realizó correctamente. |
Implementaciones de interfaz explícitas
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Pasa los datos personalizados a los elementos de enlace para admitir la implementación del contacto. (Heredado de ServiceHealthBehaviorBase) |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Cambia los valores de propiedad en tiempo de ejecución o inserta objetos de extensión personalizados, como controladores de errores, interceptores de mensajes o parámetros, extensiones de seguridad y otros objetos de extensión personalizados. (Heredado de ServiceHealthBehaviorBase) |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Inspecciona el host y la descripción del servicio para confirmar que se puede ejecutar correctamente. (Heredado de ServiceHealthBehaviorBase) |