Azure service fabric 在服务代码中解析HttpApplicationGatewayEndpoint的最佳方法

Azure service fabric 在服务代码中解析HttpApplicationGatewayEndpoint的最佳方法,azure-service-fabric,Azure Service Fabric,这里是一个问题-如何在服务代码中解析特定节点类型的http网关端口和协议?到目前为止,我只是通过像这样解析应用程序清单来获取这些信息- var fabricClient = new FabricClient(); var appManifest = await fabricClient.ClusterManager.GetClusterManifestAsync(); var document = XDocument.Parse(appManifest); var nodeTypeObj

这里是一个问题-如何在服务代码中解析特定节点类型的http网关端口和协议?到目前为止,我只是通过像这样解析应用程序清单来获取这些信息-

var fabricClient = new FabricClient();

var appManifest = await fabricClient.ClusterManager.GetClusterManifestAsync();

var document = XDocument.Parse(appManifest);

var nodeTypeObj = document.Root.Descendants()
                               .Where(d => d.Name.LocalName == "NodeTypes")
                               .Descendants()
                               .Where(e => e.Name.LocalName == "NodeType")
                               .First(e => e.Attributes().Any(a => a.Name.LocalName == "Name" && a.Value == this.Context.NodeContext.NodeType));

var gateway = nodeTypeObj.Descendants()
                         .Where(d => d.Name.LocalName == "HttpApplicationGatewayEndpoint")
                         .First();

var port = gateway.Attributes().First(a => a.Name.LocalName == "Port").Value;
var protocol = gateway.Attributes().First(a => a.Name.LocalName == "Protocol").Value;

有没有更简单的方法来获取这些值?类似于这样一种方法,我会调用它,一路上传递节点类型,然后返回每个节点类型配置的所有内容?包括HttpApplication GatewayEndpoint?

看起来您正在删除集群清单-我可能不建议这么做


没有特定的API来获取这些信息,所以我要么按照约定选择一个端口并使用它(默认的19008可以工作),或者,如果您认为端口会在不同的环境中更改,请将其放入环境变量或配置包中。

看起来您正在删除集群清单-我可能不建议这样做


没有特定的API来获取这些信息,所以我要么按照约定选择一个端口并使用它(默认的19008可以工作),或者,如果您认为端口会在不同环境之间更改,请将其放入环境变量或配置包中。

您将在哪里使用有关端口和协议的信息?假设我有一个服务,在某些情况下需要将另一个服务添加到正在运行的应用程序中。新服务是来宾可执行的。第一个编排器需要为来宾流程形成一个配置,并传递它所需的另一个服务的位置。我所说的位置是指反向代理(http网关)端点,因为我不想在来宾服务中执行所有这些“解析”巫毒:)所以,我认为您的解决方案是确定的,您将在哪里使用有关端口和协议的信息?假设我有一个服务,在某些情况下需要将另一个服务添加到正在运行的应用程序中。新服务是来宾可执行的。第一个编排器需要为来宾流程形成一个配置,并传递它所需的另一个服务的位置。我所说的位置是指反向代理(http网关)端点,因为我不想在来宾服务中执行所有这些“解析”巫毒:)因此,我认为您的解决方案是可行的,但如果我计划使用不同网关端口的多个节点类型,该怎么办?还有一些,但不是我想要的全部。。。对我来说,为每个比例集指定env变量似乎有点乏味。分析清单提供了一些更通用的方法。。。为什么您认为这可能不是一个好主意?但若我计划使用具有不同网关端口的多个节点类型呢?还有一些,但不是我想要的全部。。。对我来说,为每个比例集指定env变量似乎有点乏味。分析清单提供了一些更通用的方法。。。你为什么认为这不是个好主意?