c# - 如何检查 Azure Service Fabric 是否已启动并正在运行?

标签 c# azure-service-fabric

有没有办法以编程方式检查 Service Fabric 是否已从外部客户端启动并运行?我想过只使用 try catch block ,但我很好奇是否有更优雅的方法。

最佳答案

没有单一的“集群正在运行吗?”命令。这个问题可以有不同的解释方式。

但对于外部客户端,您可以做的最简单的检查就是尝试与集群通信。集群可能正在“运行”,但如果您的客户端无法与其通信,那么它可能会在那里停止。要以编程方式执行此操作,您必须捕获通信异常。这是一个例子:

FabricClient client = new FabricClient();

try
{
    await client.QueryManager.GetProvisionedFabricCodeVersionListAsync();
}
catch (FabricTransientException ex)
{
    if (ex.ErrorCode == FabricErrorCode.CommunicationError)
    {
         // can't communicate with the cluster!
    }
}

您基本上是在等待连接超时,因此此检查需要几秒钟才能完成。

关于c# - 如何检查 Azure Service Fabric 是否已启动并正在运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41812136/

相关文章:

c# - TCP 异步套接字抛出 10057

c# - 如何将常用图像格式保存到DICOM?

c# - 在 NEST DateRange 谓词中使用 DateTimeOffset

c# - 应用程序签名/验证

azure - 将 Azure Powershell 命令转换为 Azure CLI

powershell - 使用 Powershell 时找不到 Connect-ServiceFabricCluster cmdlet

asp.net-core - dotnetcore 中的服务结构客户端身份验证 UserPasswordCredential 不起作用

c# - 检测重复记录,只选择第一个并用 LINQ/C# 计数

azure - Azure 服务结构中的 EnableDefaultServicesUpgrade 未默认启用是否有原因

c# - 如何在构建/部署时忽略 servicefabric list 文件中的服务类型