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

时间:2016-08-18 17:38:15

标签: azure-service-fabric

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

我知道您可以在服务级别定义参数并提供覆盖(如here所述),但这非常麻烦。如果您有多个服务访问相同的参数(例如连接字符串),那么将它定义在一个地方就好得多,比如app manifest。

1 个答案:

答案 0 :(得分:2)

这是可能的,但并不容易。

  1. 获取清单xml:
  2. 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);
    
    1. 使用该xml根据XSD架构反序列化对象。 C:\ Program Files \ Microsoft SDKs \ Service Fabric \ schemas \ ServiceFabricServiceModel.xsd(ApplicationManifestType)
    2. (抱歉格式化)