gpt4 book ai didi

c# - CloudConfigurationManager.GetSetting 在生产中返回空字符串?

转载 作者:太空狗 更新时间:2023-10-30 00:42:32 26 4
gpt4 key购买 nike

我刚刚将项目升级到 Azure Tools 1.8(2012 年 10 月 SDK),但遇到了一个奇怪的问题;

在我的 WorkerRole 中,我调用 CloudConfigurationManager.GetSetting返回 null(可以是空字符串,很难从日志文件中辨别)。换句话说;我无法从 RoleEnvironment 获取设置。

信息:

  • 模拟器/本地主机工作完美
  • 通过 RDP 验证 dll 版本
  • 尝试获取各种测试设置
  • 相同的代码行现在在生产槽中运行得很好。
  • 我正在使用 nuget 中的 Microsoft.WindowsAzure.ConfigurationManager 1.8.0.0
  • 向 app.config 添加了设置以进行测试,结果相同。

有什么线索吗?

更新:

调用代码(WorkerRole中的方法Run())

public override void Run(){

// Fetch connectionstring
var connectionString = CloudConfigurationManager.GetSetting("ConnectionString");

// connectionString is null here?

[...]

}

该设置在门户中可见,因此肯定已部署。

最佳答案

我已经修复了它,以下步骤解决了它:

  • 其中一个项目引用了 Microsoft.WindowsAzure.Configuration 版本 1.7.0.0。更改了这一点(如果这是原因,那就奇怪了,因为输出中的 dll 版本正确。也许它是在运行时从 GAC 加载的?)
  • 删除了 Microsoft.WindowsAzure.Configuration 的程序集绑定(bind)重定向
  • osFamily 从 1 升级到 2(Windows 2008 SP2 -> Windows 2008 R2)

有些步骤可能是不必要的,但我不确定其中哪一个:-)

关于c# - CloudConfigurationManager.GetSetting 在生产中返回空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14917010/

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