有没有办法以编程方式检查 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/