Azure Service Fabric:如何从名称服务枚举应用程序中的所有服务
Azure Service Fabric: How to enumerate all services in an application from the Name Service
我有一个简单的无状态服务,需要对同一应用程序中的每个其他服务进行远程调用。与其硬编码应用程序中所有其他服务的列表,不如从名称服务(或可以发现它的任何其他地方)获取所有服务的枚举。然后我的代码将是通用的,并且在我将来向应用程序添加新服务时继续工作而无需更改。
但我找不到任何说明此枚举功能的文档或示例。这可能吗?
是的,您可以使用 FabricClient.QueryClient
class 及其 GetServiceListAsync
方法:
using(var fabricClient = new FabricClient())
{
var serviceList = await fabricClient.QueryManager.GetServiceListAsync(appUri);
// ...
}
这里是相关的documentation
我有一个简单的无状态服务,需要对同一应用程序中的每个其他服务进行远程调用。与其硬编码应用程序中所有其他服务的列表,不如从名称服务(或可以发现它的任何其他地方)获取所有服务的枚举。然后我的代码将是通用的,并且在我将来向应用程序添加新服务时继续工作而无需更改。
但我找不到任何说明此枚举功能的文档或示例。这可能吗?
是的,您可以使用 FabricClient.QueryClient
class 及其 GetServiceListAsync
方法:
using(var fabricClient = new FabricClient())
{
var serviceList = await fabricClient.QueryManager.GetServiceListAsync(appUri);
// ...
}
这里是相关的documentation