ServiceHealthBehavior 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供可提供运行状况终结点的 Windows Communication Foundation (WCF) 服务行为。
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
- 继承
注解
运行状况终结点用于执行运行状况检查,以评估组件的运行状况。 运行状况终结点可用于:
通知业务流程工具终止未通过关键运行状况检查的进程。
通过跟踪和提供有关服务可用性和性能的警报,充当监视工具的早期问题指示器。
ServiceHealthBehavior
是扩展 IServiceBehavior 并派生自 的 WCF 服务行为 ServiceHealthBehaviorBase 。 将 ServiceHealthBehavior
实例添加到 ServiceDescription.Behaviors 集合可实现以下操作:
发布服务运行状况: 可以使用 HTTP/GET 请求和查询字符串显示特定于服务的详细信息,例如服务状态、限制计数
?health
和容量。 在排查 WCF 服务行为不当问题时,了解和轻松访问显示的信息至关重要。返回 HTTP 响应代码: 可以在查询字符串中指定 HTTP/GET 运行状况探测请求的 HTTP 状态代码。
运行状况终结点仅在它监视其运行状况的组件的上下文中有意义。 它没有任何其他含义或用途。 因此,其运行状况是组件运行状况的一个管道。 客户端 应 假定运行状况终结点返回的 HTTP 响应代码适用于整个组件。 这符合使用运行状况检查(如负载均衡器、服务发现等)的当前基础结构工具的预期行为。
启用运行状况终结点
有两种方法可以指定如何公开运行状况终结点和发布 WCF 服务运行状况信息:
通过使用配置文件。 例如:
<behaviors> <serviceBehaviors> <behavior name="DefaultBehavior"> <serviceHealth httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors>
编程。 以下代码片段使用 C# 公开运行状况终结点:
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);
构造函数
ServiceHealthBehavior() |
初始化 ServiceHealthBehavior 类的新实例。 |
属性
HasXmlSupport |
获取指示是否支持 XML 响应消息的值。 |
HealthDetailsEnabled |
获取或设置一个值,该值指定运行状况终结点是否应返回服务详细信息,或者响应是否不应包含任何内容。 (继承自 ServiceHealthBehaviorBase) |
HttpGetBinding |
获取或设置用于通过 HTTP/Get 请求进行运行状况检索的绑定。 (继承自 ServiceHealthBehaviorBase) |
HttpGetEnabled |
获取或设置一个值,该值指示是否发布服务元数据以便使用 HTTP/GET 请求进行检索。 (继承自 ServiceHealthBehaviorBase) |
HttpGetUrl |
获取或设置一个 URI,它指定发布元数据的地址,以便使用 HTTP/Get 请求进行检索。 (继承自 ServiceHealthBehaviorBase) |
HttpsGetBinding |
获取或设置用于通过 HTTPS/Get 请求进行运行状况检索的绑定。 (继承自 ServiceHealthBehaviorBase) |
HttpsGetEnabled |
获取或设置一个值,该值指示是否发布服务元数据以便使用 HTTPS/Get 请求进行检索。 (继承自 ServiceHealthBehaviorBase) |
HttpsGetUrl |
获取或设置一个 URI,它指定发布元数据的地址,以便使用 HTTPS/Get 请求进行检索。 (继承自 ServiceHealthBehaviorBase) |
ServiceStartTime |
获取运行状况检查服务开始的日期和时间。 (继承自 ServiceHealthBehaviorBase) |
方法
AddHttpProperty(Message, HttpStatusCode, Boolean) |
设置响应消息的内容类型和 HTTP 状态代码。 |
EnsureHttpStatusCode(Int32) |
确保 HTTP 状态代码在 200 至 599(包括 200 和 599)的范围内。 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetHttpResponseCode(ServiceHostBase, String[]) |
分析查询字符串字段并返回其定义的 HTTP 响应代码。 |
GetServiceHealthSections(ServiceHostBase) |
获取 ServiceHealthSection 中定义的 ServiceHealthBehavior 对象的集合。 |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
GetXmlDocument(ServiceHostBase) |
串行化与指定的 |
HandleHealthRequest(ServiceHostBase, Message, String[], Message) |
返回指定请求的响应消息。 |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |
TryParseBooleanQueryParameter(String, String, Boolean, Boolean) |
尝试分析布尔查询字符串参数,并返回一个值,该值指示分析操作是否成功。 |
TryParseHttpStatusCodeQueryParameter(String, String, HttpStatusCode, HttpStatusCode) |
尝试分析查询字符串变量的 HTTP 状态代码,并返回一个值,该值指示分析操作是否成功。 |
显式接口实现
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
将自定义数据传递给绑定元素以支持联系人实现。 (继承自 ServiceHealthBehaviorBase) |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
更改运行时属性值或插入自定义扩展对象,例如错误处理程序、消息或参数拦截器、安全扩展以及其他自定义扩展对象。 (继承自 ServiceHealthBehaviorBase) |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
检查服务主机和服务说明,从而确定服务是否可成功运行。 (继承自 ServiceHealthBehaviorBase) |