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

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


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;

      }

}

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


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


using System.Fabric;

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


九州编程
浏览 99回答 1
1回答

蝴蝶不菲

当然,你可以在共享项目中添加对 Microsoft.ServiceFabric Nuget 包的引用。Install-Package Microsoft.ServiceFabric或dotnet add package Microsoft.ServiceFabric
打开App,查看更多内容
随时随地看视频慕课网APP