首页 文章

Azure Worker角色忽略ServiceConfiguration.Local配置

提问于
浏览
0

我正在开发一个包含两个单独的工作者角色的Azure Cloud 服务 . 我已完成第一个辅助角色(角色#1)的开发,现在我开始开发第二个辅助角色(角色#2) .

在Role#2中,我在ServiceDefinition.csdef文件中定义了一些配置设置,包括标准的Microsoft.ServiceBus.ConnectionString设置,以及ServiceConfiguration.Local.cscfg和ServiceConfiguration.Cloud.cscfg文件中的相应设置 .

我的 Cloud 服务项目定义如下:

enter image description here

当我在本地Azure Compute Emulator(Express)中启动角色#2时,将忽略该角色的所有配置设置 . 相反,配置设置取自本地App.config文件,如下面的屏幕截图所示:

enter image description here

我正在使用CloudConfigurationManager.GetSetting()辅助方法来检索配置设置,而不是折旧(对于Azure)ConfigurationManager . *帮助程序 . 作为参考,我使用的是Azure SDK 2.5版 .

我不明白为什么忽略ServiceDefinition.csdef和ServiceConfiguration.Local.cscfg中定义的配置设置 .

关于这个的任何建议都值得赞赏,因为它让我感到难过 .

1 回答

  • 1

    我已经设法在睡眠问题后解决了这个问题!一双新鲜的眼睛等: - /

    事实证明,Role#2引用的NuGet包 Microsoft.WindowsAzure.ConfigurationManagerWindowsAzure.ServiceBus 的版本早于Role#1引用的版本 .

    将角色#2的工作者角色类库项目中的这些包更新到与角色#1匹配的版本现在已解决该问题 . 具体来说, Microsoft.WindowsAzure.ConfigurationManager 引用了1.8.0.0版,并更新到2.0.3版以解决此问题 . 角色#1已经引用了2.0.3版 .

    作为参考,我使用以下Package Manager Console命令更新引用:

    Update-Package Microsoft.WindowsAzure.ConfigurationManager -ProjectName [PROJECT-NAME] -Version 2.0.3
    

相关问题