gpt4 book ai didi

.net - CloudConfigurationManager.GetSetting ("")实际上是如何工作的?

转载 作者:行者123 更新时间:2023-12-02 06:20:59 29 4
gpt4 key购买 nike

我正在使用 CloudConfigurationManager 来获取我的连接字符串。我创建了一个*Azure Service Fabric 应用程序

storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));

它工作正常,但我也可以看到这一点: enter image description here

从 ServiceRuntime 获取“StorageConnectionString”:失败。

请解释为什么显示这样的FAIL消息。另外这个CloudConfigurationManager是如何工作的?

注意:不要标记任何解决方法,因为我已经看到了所有这些解决方法。以下是我已经访问过但不满意的链接。

Link-1Link-2

最佳答案

Kindly explain why is it showing such FAIL message. Also how is this CloudConfigurationManager works?

据我所知,Microsoft.WindowsAzure.ConfigurationManager只是一个没有依赖关系的独立库。其描述如下:

Microsoft Azure Configuration Manager provides a unified API to load configuration settings regardless of where the application is hosted - whether on-premises or in a Cloud Service.

CloudConfigurationManager.GetSetting将从适当的配置存储中读取配置设置。如果您的应用程序作为 .NET Web 应用程序运行,则 GetSetting方法将从 Web.config 检索设置值或app.config文件。当应用程序在 Windows Azure 云服务或 Windows Azure 网站中运行时,GetSetting将从 ServiceConfiguration.cscfg 检索设置值.

使用ILSpy ,我们可以找到GetSetting方法将首先检查 ServiceRuntime 提供程序并利用 RoleEnvironment.GetConfigurationSettingValue(string configurationSettingName)用于获取设置值。如果值为null ,那么它将使用 ConfigurationManager 提供程序并利用 ConfigurationManager.AppSettings['<settingName>']; .

internal string GetSetting(string name, bool outputResultsToTrace)
{
string value = AzureApplicationSettings.GetValue("ServiceRuntime", name, new Func<string, string>(this.GetServiceRuntimeSetting), outputResultsToTrace);
if (value == null)
{
string arg_44_0 = "ConfigurationManager";
Func<string, string> arg_44_2;
if ((arg_44_2 = AzureApplicationSettings.<>c.<>9__10_0) == null)
{
arg_44_2 = (AzureApplicationSettings.<>c.<>9__10_0 = new Func<string, string>(AzureApplicationSettings.<>c.<>9.<GetSetting>b__10_0));
}
value = AzureApplicationSettings.GetValue(arg_44_0, name, arg_44_2, outputResultsToTrace);
}
return value;
}

自从您在 app.config 中配置设置后文件,以及 GetSetting默认情况下,方法会将日志写入 Trace,然后您将看到您提供的跟踪日志。此外,您可以使用 GetSetting('<settingName>',false)用于禁用跟踪日志。

关于.net - CloudConfigurationManager.GetSetting ("")实际上是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45139120/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com