你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

FabricClient.HealthClient.GetDeployedServicePackageHealthAsync 方法

定义

重载

GetDeployedServicePackageHealthAsync(Uri, String, String, ApplicationHealthPolicy, TimeSpan, CancellationToken)

使用指定的超时和取消令牌异步获取已部署 Service Fabric 服务包的运行状况。

GetDeployedServicePackageHealthAsync(Uri, String, String, ApplicationHealthPolicy)

异步获取已部署 Service Fabric 服务包的运行状况。

GetDeployedServicePackageHealthAsync(Uri, String, String, TimeSpan, CancellationToken)

使用指定的超时和取消令牌异步获取已部署 Service Fabric 服务包的运行状况。

GetDeployedServicePackageHealthAsync(DeployedServicePackageHealthQueryDescription, TimeSpan, CancellationToken)

使用指定的超时和取消令牌异步获取已部署 Service Fabric 服务包的运行状况。

GetDeployedServicePackageHealthAsync(Uri, String, String)

异步获取已部署 Service Fabric 服务包的运行状况。

GetDeployedServicePackageHealthAsync(DeployedServicePackageHealthQueryDescription)

使用指定的超时和取消令牌异步获取已部署 Service Fabric 服务包的运行状况。

GetDeployedServicePackageHealthAsync(Uri, String, String, ApplicationHealthPolicy, TimeSpan, CancellationToken)

使用指定的超时和取消令牌异步获取已部署 Service Fabric 服务包的运行状况。

public System.Threading.Tasks.Task<System.Fabric.Health.DeployedServicePackageHealth> GetDeployedServicePackageHealthAsync (Uri applicationName, string serviceManifestName, string nodeName, System.Fabric.Health.ApplicationHealthPolicy healthPolicy, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.GetDeployedServicePackageHealthAsync : Uri * string * string * System.Fabric.Health.ApplicationHealthPolicy * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Fabric.Health.DeployedServicePackageHealth>
Public Function GetDeployedServicePackageHealthAsync (applicationName As Uri, serviceManifestName As String, nodeName As String, healthPolicy As ApplicationHealthPolicy, timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of DeployedServicePackageHealth)

参数

applicationName
Uri

Service Fabric 应用程序的 URI。

serviceManifestName
String

此 Service Fabric 服务的服务清单文件的名称。

nodeName
String

Service Fabric 服务部署到的节点的名称。

healthPolicy
ApplicationHealthPolicy

用于评估实体运行状况的应用程序运行状况策略。

timeout
TimeSpan

Service Fabric 在返回 TimeoutException之前允许此操作继续的最长时间。

cancellationToken
CancellationToken

操作正在观察的可选取消标记。 它可用于发送应取消操作的通知。 请注意,取消是通知性的,即使操作被取消,操作仍可能完成。

返回

已部署的 Service Fabric 服务包的运行状况。

例外

对象 FabricClient 处于关闭状态。 释放正在使用的对象 FabricClient 并实例化新 FabricClient 对象。

当空引用传递到不接受它作为有效参数的方法时返回。

由以下原因之一引起:

当一个或多个参数无效时,将返回E_INVALIDARG。

由以下原因之一引起:

OperationTimedOut 当操作完成时间超过用户提供 timeout 的时间时,将返回 。

由以下原因之一引起:

FabricHealthEntityNotFound.

InvalidNameUri 如果 applicationName 不是有效的 Service Fabric 名称,则返回 。

CommunicationError 当通信错误导致操作失败时返回 。

InvalidCredentialType.

InvalidX509FindType.

InvalidX509StoreLocation.

InvalidX509StoreName.

InvalidX509Thumbprint.

InvalidProtectionLevel.

InvalidX509Store.

InvalidSubjectName.

InvalidAllowedCommonNameList.

由以下原因之一引起:

ServiceTooBusy 当服务太忙而无法处理操作时返回 。

由以下原因之一引起:

当此操作的访问检查失败时,将返回E_ACCESSDENIED。

适用于

GetDeployedServicePackageHealthAsync(Uri, String, String, ApplicationHealthPolicy)

异步获取已部署 Service Fabric 服务包的运行状况。

public System.Threading.Tasks.Task<System.Fabric.Health.DeployedServicePackageHealth> GetDeployedServicePackageHealthAsync (Uri applicationName, string serviceManifestName, string nodeName, System.Fabric.Health.ApplicationHealthPolicy healthPolicy);
member this.GetDeployedServicePackageHealthAsync : Uri * string * string * System.Fabric.Health.ApplicationHealthPolicy -> System.Threading.Tasks.Task<System.Fabric.Health.DeployedServicePackageHealth>
Public Function GetDeployedServicePackageHealthAsync (applicationName As Uri, serviceManifestName As String, nodeName As String, healthPolicy As ApplicationHealthPolicy) As Task(Of DeployedServicePackageHealth)

参数

applicationName
Uri

Service Fabric 应用程序的 URI。

serviceManifestName
String

此 Service Fabric 服务的服务清单文件的名称。

nodeName
String

Service Fabric 服务部署到的节点的名称。

healthPolicy
ApplicationHealthPolicy

用于评估实体运行状况的应用程序运行状况策略。

返回

已部署的 Service Fabric 服务包的运行状况。

例外

对象 FabricClient 处于关闭状态。 释放正在使用的对象 FabricClient 并实例化新 FabricClient 对象。

当空引用传递到不接受它作为有效参数的方法时返回。

由以下原因之一引起:

当一个或多个参数无效时,将返回E_INVALIDARG。

由以下原因之一引起:

OperationTimedOut 当操作花费的时间超过指定的完成时间时,将返回 。

由以下原因之一引起:

FabricHealthEntityNotFound.

InvalidNameUri 如果 applicationName 不是有效的 Service Fabric 名称,则返回 。

CommunicationError 当通信错误导致操作失败时返回 。

InvalidCredentialType.

InvalidX509FindType.

InvalidX509StoreLocation.

InvalidX509StoreName.

InvalidX509Thumbprint.

InvalidProtectionLevel.

InvalidX509Store.

InvalidSubjectName.

InvalidAllowedCommonNameList.

由以下原因之一引起:

ServiceTooBusy 当服务太忙而无法处理操作时返回 。

由以下原因之一引起:

当此操作的访问检查失败时,将返回E_ACCESSDENIED。

适用于

GetDeployedServicePackageHealthAsync(Uri, String, String, TimeSpan, CancellationToken)

使用指定的超时和取消令牌异步获取已部署 Service Fabric 服务包的运行状况。

public System.Threading.Tasks.Task<System.Fabric.Health.DeployedServicePackageHealth> GetDeployedServicePackageHealthAsync (Uri applicationName, string serviceManifestName, string nodeName, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.GetDeployedServicePackageHealthAsync : Uri * string * string * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Fabric.Health.DeployedServicePackageHealth>
Public Function GetDeployedServicePackageHealthAsync (applicationName As Uri, serviceManifestName As String, nodeName As String, timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of DeployedServicePackageHealth)

参数

applicationName
Uri

Service Fabric 应用程序的 URI。

serviceManifestName
String

此 Service Fabric 服务的服务清单文件的名称。

nodeName
String

Service Fabric 服务部署到的节点的名称。

timeout
TimeSpan

Service Fabric 在返回 TimeoutException之前允许此操作继续的最长时间。

cancellationToken
CancellationToken

操作正在观察的可选取消标记。 它可用于发送应取消操作的通知。 请注意,取消是通知性的,即使操作被取消,操作仍可能完成。

返回

已部署的 Service Fabric 服务包的运行状况。

例外

对象 FabricClient 处于关闭状态。 释放正在使用的对象 FabricClient 并实例化新 FabricClient 对象。

当空引用传递到不接受它作为有效参数的方法时返回。

由以下原因之一引起:

当一个或多个参数无效时,将返回E_INVALIDARG。

由以下原因之一引起:

OperationTimedOut 当操作完成时间超过用户提供 timeout 的时间时,将返回 。

由以下原因之一引起:

FabricHealthEntityNotFound.

InvalidNameUri 如果 applicationName 不是有效的 Service Fabric 名称,则返回 。

CommunicationError 当通信错误导致操作失败时返回 。

InvalidCredentialType.

InvalidX509FindType.

InvalidX509StoreLocation.

InvalidX509StoreName.

InvalidX509Thumbprint.

InvalidProtectionLevel.

InvalidX509Store.

InvalidSubjectName.

InvalidAllowedCommonNameList.

由以下原因之一引起:

ServiceTooBusy 当服务太忙而无法处理操作时返回 。

由以下原因之一引起:

当此操作的访问检查失败时,将返回E_ACCESSDENIED。

适用于

GetDeployedServicePackageHealthAsync(DeployedServicePackageHealthQueryDescription, TimeSpan, CancellationToken)

使用指定的超时和取消令牌异步获取已部署 Service Fabric 服务包的运行状况。

public System.Threading.Tasks.Task<System.Fabric.Health.DeployedServicePackageHealth> GetDeployedServicePackageHealthAsync (System.Fabric.Description.DeployedServicePackageHealthQueryDescription queryDescription, TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.GetDeployedServicePackageHealthAsync : System.Fabric.Description.DeployedServicePackageHealthQueryDescription * TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Fabric.Health.DeployedServicePackageHealth>
Public Function GetDeployedServicePackageHealthAsync (queryDescription As DeployedServicePackageHealthQueryDescription, timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of DeployedServicePackageHealth)

参数

queryDescription
DeployedServicePackageHealthQueryDescription

查询说明。

timeout
TimeSpan

Service Fabric 在返回 TimeoutException之前允许此操作继续的最长时间。

cancellationToken
CancellationToken

操作正在观察的可选取消标记。 它可用于发送应取消操作的通知。 请注意,取消是通知性的,即使操作被取消,操作仍可能完成。

返回

已部署的 Service Fabric 服务包的运行状况。

例外

由以下原因之一引起:

FabricHealthEntityNotFound.

InvalidNameUri 如果 ApplicationName 不是有效的 Service Fabric 名称,则返回 。

https://docs.microsoft.com/azure/service-fabric/service-fabric-errors-and-exceptions 请参阅处理常见 FabricClient 故障。

当空引用传递到不接受它作为有效参数的方法时返回。

由以下原因之一引起:

当一个或多个参数无效时,将返回E_INVALIDARG。

由以下原因之一引起:

ServiceTooBusy 当服务太忙而无法处理操作时返回 。

由以下原因之一引起:

当此操作的访问检查失败时,将返回E_ACCESSDENIED。

适用于

GetDeployedServicePackageHealthAsync(Uri, String, String)

异步获取已部署 Service Fabric 服务包的运行状况。

public System.Threading.Tasks.Task<System.Fabric.Health.DeployedServicePackageHealth> GetDeployedServicePackageHealthAsync (Uri applicationName, string serviceManifestName, string nodeName);
member this.GetDeployedServicePackageHealthAsync : Uri * string * string -> System.Threading.Tasks.Task<System.Fabric.Health.DeployedServicePackageHealth>
Public Function GetDeployedServicePackageHealthAsync (applicationName As Uri, serviceManifestName As String, nodeName As String) As Task(Of DeployedServicePackageHealth)

参数

applicationName
Uri

Service Fabric 应用程序的 URI。

serviceManifestName
String

此 Service Fabric 服务的服务清单文件的名称。

nodeName
String

Service Fabric 服务部署到的节点的名称。

返回

已部署的 Service Fabric 服务包的运行状况。

例外

对象 FabricClient 处于关闭状态。 释放正在使用的对象 FabricClient 并实例化新 FabricClient 对象。

当空引用传递到不接受它作为有效参数的方法时返回。

由以下原因之一引起:

当一个或多个参数无效时,将返回E_INVALIDARG。

由以下原因之一引起:

OperationTimedOut 当操作花费的时间超过指定的完成时间时,将返回 。

由以下原因之一引起:

FabricHealthEntityNotFound.

InvalidNameUri 如果 applicationName 不是有效的 Service Fabric 名称,则返回 。

CommunicationError 当通信错误导致操作失败时返回 。

InvalidCredentialType.

InvalidX509FindType.

InvalidX509StoreLocation.

InvalidX509StoreName.

InvalidX509Thumbprint.

InvalidProtectionLevel.

InvalidX509Store.

InvalidSubjectName.

InvalidAllowedCommonNameList.

由以下原因之一引起:

ServiceTooBusy 当服务太忙而无法处理操作时返回 。

由以下原因之一引起:

当此操作的访问检查失败时,将返回E_ACCESSDENIED。

注解

以下示例获取已部署服务包的运行状况。

public static bool GetDeployedServicePackageHealth(string clusterConnection)
            {
                DeployedApplicationHealth deployedApplicationHealth;
                DeployedServicePackageHealth deployedServicePackageHealth;
                ApplicationHealth applicationHealth;
                Uri applicationName = new Uri("fabric:/myapp/todo");

                // Connect to the cluster.
                FabricClient fabricClient = new FabricClient(clusterConnection);

                Console.WriteLine("Deployed Service Package Health:");

                try
                {
                    // Determine the nodes where the application has been deployed.
                    applicationHealth = fabricClient.HealthManager.GetApplicationHealthAsync(applicationName).Result;

                    // Get the deployed service package health for each node.
                    IList<DeployedApplicationHealthState> deployedApplicationHealthStateList = applicationHealth.DeployedApplicationHealthStates;
                    foreach (DeployedApplicationHealthState deployedApplicationHealthState in deployedApplicationHealthStateList)
                    {
            // Get the deployed application health, which contains the service manifest name and 
            // the names of the nodes where the service has been deployed.
            deployedApplicationHealth = fabricClient.HealthManager.GetDeployedApplicationHealthAsync(applicationName,
                deployedApplicationHealthState.NodeName).Result;

            // Return if empty.
            if (deployedApplicationHealth.DeployedServicePackageHealthStates.Count == 0)
                return false;

            // Get the deployed service package health.
            deployedServicePackageHealth = fabricClient.HealthManager.GetDeployedServicePackageHealthAsync(applicationName,
                deployedApplicationHealth.DeployedServicePackageHealthStates[0].ServiceManifestName, 
                deployedApplicationHealthState.NodeName).Result;

            // Display the deployed service package health information.
            Console.WriteLine("  Application Name: " + deployedServicePackageHealth.ApplicationName);
            Console.WriteLine("    Node Name: " + deployedServicePackageHealth.NodeName);
            Console.WriteLine("    Aggregated Health State: " + deployedServicePackageHealth.AggregatedHealthState);
            Console.WriteLine("    Service Manifest Name: " + deployedServicePackageHealth.ServiceManifestName);

            // List the health events.
            Console.WriteLine("    Health Events:");
            IList<HealthEvent> healthEvents = deployedServicePackageHealth.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 = deployedServicePackageHealth.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();
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("Error: " + e.Message);

                    if (e.InnerException != null)
            Console.WriteLine("  Inner Exception: " + e.InnerException.Message);

                    return false;
                }
                return true;
            }

适用于

GetDeployedServicePackageHealthAsync(DeployedServicePackageHealthQueryDescription)

使用指定的超时和取消令牌异步获取已部署 Service Fabric 服务包的运行状况。

public System.Threading.Tasks.Task<System.Fabric.Health.DeployedServicePackageHealth> GetDeployedServicePackageHealthAsync (System.Fabric.Description.DeployedServicePackageHealthQueryDescription queryDescription);
member this.GetDeployedServicePackageHealthAsync : System.Fabric.Description.DeployedServicePackageHealthQueryDescription -> System.Threading.Tasks.Task<System.Fabric.Health.DeployedServicePackageHealth>
Public Function GetDeployedServicePackageHealthAsync (queryDescription As DeployedServicePackageHealthQueryDescription) As Task(Of DeployedServicePackageHealth)

参数

queryDescription
DeployedServicePackageHealthQueryDescription

查询说明。

返回

已部署的 Service Fabric 服务包的运行状况。

例外

对象 FabricClient 处于关闭状态。 释放正在使用的对象 FabricClient 并实例化新 FabricClient 对象。

当空引用传递到不接受它作为有效参数的方法时返回。

由以下原因之一引起:

当一个或多个参数无效时,将返回E_INVALIDARG。

由以下原因之一引起:

OperationTimedOut 当操作花费的时间超过指定的完成时间时,将返回 。

由以下原因之一引起:

ServiceTooBusy 当服务太忙而无法处理操作时返回 。

由以下原因之一引起:

当此操作的访问检查失败时,将返回E_ACCESSDENIED。

适用于