我想要一个共享函数,返回参数的应用程序设置:
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;
有没有办法做到这一点?这是一种好的做法吗?
蝴蝶不菲
相关分类