你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
FabricClient.HealthClient.GetServiceHealthAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
GetServiceHealthAsync(ServiceHealthQueryDescription) |
使用指定的超时和取消令牌异步获取 Service Fabric 服务的运行状况。 |
GetServiceHealthAsync(Uri) |
异步获取 Service Fabric 服务的运行状况。 |
GetServiceHealthAsync(Uri, ApplicationHealthPolicy) |
异步获取 Service Fabric 服务的运行状况。 |
GetServiceHealthAsync(ServiceHealthQueryDescription, TimeSpan, CancellationToken) |
使用指定的超时和取消令牌异步获取 Service Fabric 服务的运行状况。 |
GetServiceHealthAsync(Uri, TimeSpan, CancellationToken) |
使用指定的超时和取消令牌异步获取 Service Fabric 服务的运行状况。 |
GetServiceHealthAsync(Uri, ApplicationHealthPolicy, TimeSpan, CancellationToken) |
使用指定的超时和取消令牌异步获取 Service Fabric 服务的运行状况。 |
GetServiceHealthAsync(ServiceHealthQueryDescription)
使用指定的超时和取消令牌异步获取 Service Fabric 服务的运行状况。
public System.Threading.Tasks.Task<System.Fabric.Health.ServiceHealth> GetServiceHealthAsync (System.Fabric.Description.ServiceHealthQueryDescription queryDescription);
member this.GetServiceHealthAsync : System.Fabric.Description.ServiceHealthQueryDescription -> System.Threading.Tasks.Task<System.Fabric.Health.ServiceHealth>
Public Function GetServiceHealthAsync (queryDescription As ServiceHealthQueryDescription) As Task(Of ServiceHealth)
参数
- queryDescription
- ServiceHealthQueryDescription
查询说明。
返回
Service Fabric 服务的运行状况。
例外
对象 FabricClient 处于关闭状态。 释放正在使用的对象 FabricClient 并实例化新 FabricClient 对象。
将 null 引用传递给不接受它作为有效参数的方法时返回。
由以下原因之一引起:
InvalidNameUri 如果 ServiceName 不是有效的 Service Fabric 名称,则返回 。
CommunicationError 当通信错误导致操作失败时,返回 。
适用于
GetServiceHealthAsync(Uri)
异步获取 Service Fabric 服务的运行状况。
public System.Threading.Tasks.Task<System.Fabric.Health.ServiceHealth> GetServiceHealthAsync (Uri serviceName);
member this.GetServiceHealthAsync : Uri -> System.Threading.Tasks.Task<System.Fabric.Health.ServiceHealth>
Public Function GetServiceHealthAsync (serviceName As Uri) As Task(Of ServiceHealth)
参数
- serviceName
- Uri
Service Fabric 服务的名称。
返回
Service Fabric 服务的运行状况。
例外
对象 FabricClient 处于关闭状态。 释放正在使用的对象 FabricClient 并实例化新 FabricClient 对象。
将 null 引用传递给不接受它作为有效参数的方法时返回。
由以下原因之一引起:
InvalidNameUri 如果 serviceName
不是有效的 Service Fabric 名称,则返回 。
CommunicationError 当通信错误导致操作失败时,返回 。
注解
以下示例获取服务的运行状况。
public static bool GetServiceHealth(string clusterConnection)
{
ServiceHealth serviceHealth;
Uri serviceName = new Uri("fabric:/myapp/todo/svc1");
// Connect to the cluster.
FabricClient fabricClient = new FabricClient(clusterConnection);
// Get the service health.
try
{
serviceHealth = fabricClient.HealthManager.GetServiceHealthAsync(serviceName).Result;
}
catch (Exception e)
{
Console.WriteLine("Error: " + e.Message);
if (e.InnerException != null)
Console.WriteLine(" Inner Exception: " + e.InnerException.Message);
return false;
}
Console.WriteLine("Service Health:");
Console.WriteLine(" Service {0}: {1}", serviceHealth.ServiceName, serviceHealth.AggregatedHealthState);
// List the health states.
Console.WriteLine(" Partition Health States:");
IList<PartitionHealthState> partitionHealthStates = serviceHealth.PartitionHealthStates;
foreach (PartitionHealthState partitionHealthState in partitionHealthStates)
{
Console.WriteLine(" Aggregated Health State: " + partitionHealthState.AggregatedHealthState);
Console.WriteLine(" Partition ID: " + partitionHealthState.PartitionId);
}
// List the health events.
Console.WriteLine(" Health Events:");
IList<HealthEvent> healthEvents = serviceHealth.HealthEvents;
foreach (HealthEvent healthEvent in healthEvents)
{
Console.WriteLine(" Health Event:");
Console.WriteLine(" Last Modified: " + healthEvent.LastModifiedUtcTimestamp);
Console.WriteLine(" Source UTC Timestamp: " + healthEvent.SourceUtcTimestamp);
Console.WriteLine(" Is Expired: " + healthEvent.IsExpired);
Console.WriteLine(" Health Information:");
Console.WriteLine(" Description: " + healthEvent.HealthInformation.Description);
Console.WriteLine(" Source ID: " + healthEvent.HealthInformation.SourceId);
Console.WriteLine(" Health State: " + healthEvent.HealthInformation.HealthState);
Console.WriteLine(" Property: " + healthEvent.HealthInformation.Property);
Console.WriteLine(" Remove When Expired: " + healthEvent.HealthInformation.RemoveWhenExpired);
Console.WriteLine(" Sequence Number: " + healthEvent.HealthInformation.SequenceNumber);
Console.WriteLine(" Time to Live: " + healthEvent.HealthInformation.TimeToLive);
}
// List the unhealthy evaluations.
Console.WriteLine(" Unhealthy Evaluations:");
IList<HealthEvaluation> healthEvaluationList = serviceHealth.UnhealthyEvaluations;
foreach (HealthEvaluation healthEvaluation in healthEvaluationList)
{
Console.WriteLine(" Kind: " + healthEvaluation.Kind);
Console.WriteLine(" Aggregated Health State: " + healthEvaluation.AggregatedHealthState);
Console.WriteLine(" Description: " + healthEvaluation.Description);
}
Console.WriteLine();
return true;
}
适用于
GetServiceHealthAsync(Uri, ApplicationHealthPolicy)
异步获取 Service Fabric 服务的运行状况。
public System.Threading.Tasks.Task<System.Fabric.Health.ServiceHealth> GetServiceHealthAsync (Uri serviceName, System.Fabric.Health.ApplicationHealthPolicy healthPolicy);
member this.GetServiceHealthAsync : Uri * System.Fabric.Health.ApplicationHealthPolicy -> System.Threading.Tasks.Task<System.Fabric.Health.ServiceHealth>
Public Function GetServiceHealthAsync (serviceName As Uri, healthPolicy As ApplicationHealthPolicy) As Task(Of ServiceHealth)
参数
- serviceName
- Uri
Service Fabric 服务的名称。
- healthPolicy
- ApplicationHealthPolicy
用于评估服务运行状况的应用程序运行状况策略。
返回
Service Fabric 服务的运行状况。
例外
对象 FabricClient 处于关闭状态。 释放正在使用的对象 FabricClient 并实例化新 FabricClient 对象。
将 null 引用传递给不接受它作为有效参数的方法时返回。
由以下原因之一引起:
InvalidNameUri 如果 serviceName
不是有效的 Service Fabric 名称,则返回 。
CommunicationError 当通信错误导致操作失败时,返回 。
适用于
GetServiceHealthAsync(ServiceHealthQueryDescription, TimeSpan, CancellationToken)
使用指定的超时和取消令牌异步获取 Service Fabric 服务的运行状况。
public System.Threading.Tasks.Task<System.Fabric.Health.ServiceHealth> GetServiceHealthAsync (System.Fabric.Description.ServiceHealthQueryDescription queryDescription, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.GetServiceHealthAsync : System.Fabric.Description.ServiceHealthQueryDescription * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Fabric.Health.ServiceHealth>
Public Function GetServiceHealthAsync (queryDescription As ServiceHealthQueryDescription, timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of ServiceHealth)
参数
- queryDescription
- ServiceHealthQueryDescription
查询说明。
- timeout
- TimeSpan
Service Fabric 在返回 TimeoutException之前允许此操作继续的最长时间。
- cancellationToken
- CancellationToken
操作正在观察的可选取消标记。 它可用于发送应取消操作的通知。 请注意,取消是建议性的,即使取消了操作,该操作仍可能已完成。
返回
Service Fabric 服务的运行状况。
例外
对象 FabricClient 处于关闭状态。 释放正在使用的对象 FabricClient 并实例化新 FabricClient 对象。
将 null 引用传递给不接受它作为有效参数的方法时返回。
由以下原因之一引起:
InvalidNameUri 如果 ServiceName 不是有效的 Service Fabric 名称,则返回 。
CommunicationError 当通信错误导致操作失败时,返回 。
适用于
GetServiceHealthAsync(Uri, TimeSpan, CancellationToken)
使用指定的超时和取消令牌异步获取 Service Fabric 服务的运行状况。
public System.Threading.Tasks.Task<System.Fabric.Health.ServiceHealth> GetServiceHealthAsync (Uri serviceName, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.GetServiceHealthAsync : Uri * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Fabric.Health.ServiceHealth>
Public Function GetServiceHealthAsync (serviceName As Uri, timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of ServiceHealth)
参数
- serviceName
- Uri
Service Fabric 服务的名称。
- timeout
- TimeSpan
Service Fabric 在返回 TimeoutException之前允许此操作继续的最长时间。
- cancellationToken
- CancellationToken
操作正在观察的可选取消标记。 它可用于发送应取消操作的通知。 请注意,取消是建议性的,即使取消了操作,该操作仍可能已完成。
返回
Service Fabric 服务的运行状况。
例外
对象 FabricClient 处于关闭状态。 释放正在使用的对象 FabricClient 并实例化新 FabricClient 对象。
将 null 引用传递给不接受它作为有效参数的方法时返回。
由以下原因之一引起:
InvalidNameUri 如果 serviceName
不是有效的 Service Fabric 名称,则返回 。
CommunicationError 当通信错误导致操作失败时,返回 。
适用于
GetServiceHealthAsync(Uri, ApplicationHealthPolicy, TimeSpan, CancellationToken)
使用指定的超时和取消令牌异步获取 Service Fabric 服务的运行状况。
public System.Threading.Tasks.Task<System.Fabric.Health.ServiceHealth> GetServiceHealthAsync (Uri serviceName, System.Fabric.Health.ApplicationHealthPolicy healthPolicy, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.GetServiceHealthAsync : Uri * System.Fabric.Health.ApplicationHealthPolicy * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Fabric.Health.ServiceHealth>
Public Function GetServiceHealthAsync (serviceName As Uri, healthPolicy As ApplicationHealthPolicy, timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of ServiceHealth)
参数
- serviceName
- Uri
Service Fabric 服务的名称。
- healthPolicy
- ApplicationHealthPolicy
用于评估实体运行状况的应用程序运行状况策略。
- timeout
- TimeSpan
Service Fabric 在返回 TimeoutException之前允许此操作继续的最长时间。
- cancellationToken
- CancellationToken
操作正在观察的可选取消标记。 它可用于发送应取消操作的通知。 请注意,取消是建议性的,即使取消了操作,该操作仍可能已完成。
返回
Service Fabric 服务的运行状况。
例外
对象 FabricClient 处于关闭状态。 释放正在使用的对象 FabricClient 并实例化新 FabricClient 对象。
将 null 引用传递给不接受它作为有效参数的方法时返回。
由以下原因之一引起:
InvalidNameUri 如果 serviceName
不是有效的 Service Fabric 名称,则返回 。
CommunicationError 当通信错误导致操作失败时,返回 。