我刚将项目升级到Azure Tools 1.8(2012年10月SDK),我遇到了一个奇怪的问题;CloudConfigurationManager.GetSetting在生产中返回空字符串?
在我的WorkerRole中,我对CloudConfigurationManager.GetSetting
的调用返回null(可以是空字符串,很难从日志文件中分辨出来)。换一种说法;我无法从RoleEnvironment中获取设置。
信息:
- 仿真器/本地主机通过RDP运行完美
- 验证DLL版本
- 试图获取各种testsettings
- 相同的代码行正在运行的生产槽就好了马上。
- 我使用的是来自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?
[...]
}
所以它肯定是部署的设置是在门户网站中可见。
您试图检索的设置是否确实出现在Portal服务配置设置中(即设置是否已部署)?分享有问题的代码? – viperguynaz 2013-02-17 03:00:01
是的。我更新了调用代码。 – 2013-02-17 10:12:02