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 并从中派生的 ServiceHealthBehaviorBaseWCF 服务行为。 将 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(含)范围内。 |
| Equals(Object) |
确定指定的对象是否等于当前对象。 (继承自 Object) |
| GetHashCode() |
用作默认哈希函数。 (继承自 Object) |
| GetHttpResponseCode(ServiceHostBase, String[]) |
分析查询字符串字段并返回其定义的 HTTP 响应代码。 |
| GetServiceHealthSections(ServiceHostBase) |
获取在 . 中ServiceHealthBehavior定义的对象的集合ServiceHealthSection。 |
| GetType() |
获取当前实例的 Type。 (继承自 Object) |
| GetXmlDocument(ServiceHostBase) |
序列化 ServiceHealthModel 与指定 |
| 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) |