Azure service fabric 直接从服务访问应用程序参数

Azure service fabric 直接从服务访问应用程序参数,azure-service-fabric,Azure Service Fabric,是否可以直接从SF服务访问ApplicationManifest.xml中定义的参数 我知道您可以在服务级别上定义参数并提供覆盖(如上所述),但这非常麻烦。如果您有多个服务访问同一个参数(例如连接字符串),那么在一个地方定义它会容易得多,比如应用程序清单。这是可能的,但并不容易 获取清单xml: 使用该xml根据XSD模式反序列化对象。C:\Program Files\Microsoft SDK\Service Fabric\schemas\ServiceFabricsServiceModel.

是否可以直接从SF服务访问ApplicationManifest.xml中定义的参数


我知道您可以在服务级别上定义参数并提供覆盖(如上所述),但这非常麻烦。如果您有多个服务访问同一个参数(例如连接字符串),那么在一个地方定义它会容易得多,比如应用程序清单。

这是可能的,但并不容易

  • 获取清单xml:
  • 使用该xml根据XSD模式反序列化对象。C:\Program Files\Microsoft SDK\Service Fabric\schemas\ServiceFabricsServiceModel.xsd(ApplicationManifestType)

  • (很抱歉格式化)

    微服务的整个理念是独立的。因此,在每个服务的多个位置使用相同的连接字符串是很自然的。对commons使用相同的配置参数不会破坏它们的独立性,但会简化维护。我正在配置弹性搜索侦听器,以便按照教程中的建议收集日志,并且我需要为每个服务实现4个覆盖-对于这样一个简单的目标,需要做很多工作…但此机制不会使用ApplicationParameters文件夹中特定于环境的覆盖,对吗?application.ApplicationParameters具有这些覆盖
    var fc = new FabricClient();         
    var application = (await fc.QueryManager.GetApplicationListAsync(new Uri (Context.CodePackageActivationContext.ApplicationName))).Single();         
    var applicationManifest = await fc.ApplicationManager.GetApplicationManifestAsync(application.ApplicationTypeName,
     application.ApplicationTypeVersion);