用于获取控制台、Web 应用和 Service Fabric 微服务的配置参数的共享函数



我想要一个返回参数应用程序设置的共享函数:

public static string GetAppSettings(string key)
{
  string sfAppName = Environment.GetEnvironmentVariable("Fabric_ApplicationName");
     if (string.IsNullOrEmpty(sfAppName)) // we are NOT in SF 
     {
         return ConfigurationManager.AppSettings[key];
     }
     else
     {
         ConfigurationPackage configurationPackage = FabricRuntime.GetActivationContext().GetConfigurationPackageObject("Config");
         return configurationPackage.Settings.Sections["appSettings"].Parameters[key].Value;
      }
}

以便此函数从 appSettings.config 获取参数(如果调用代码在标准 Web 应用中运行).xml如果调用代码作为 Service Fabric 微服务运行,则从 Local.1Node 获取参数。

当我将此功能放在微服务"文件夹"(在共享项目中)之外时,我无法导入

using System.Fabric;

有没有办法做到这一点?这是一种好的做法吗?

当然,您可以在共享项目中添加对 Microsoft.ServiceFabric Nuget 包的引用。

Install-Package Microsoft.ServiceFabricdotnet add package Microsoft.ServiceFabric

最新更新