为什么CloudConfigurationManager也使用我的Cloud.cscfg而不是Local.cscfg?

时间:2014-07-08 16:03:18

标签: azure azure-configuration

我确实意识到他的问题已被提出并得到解答,但不幸的是,完全清理,重建,重启的解决方案在我的情况下不起作用,我的低声誉不允许我发表评论。所以我觉得我不得不再次询问我的信息。 示例代码:

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

我的web.config部分是这样的:

  <appSettings>
    <add key="owin:AppStartup" value="zzzz" />
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=xxxx;AccountKey=yyyy"/>
  </appSettings>

在ServiceConfiguration.Cloud.cscfg中我有:

<ConfigurationSettings>
  <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=nnnn" />
  <Setting name="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=xxxx;AccountKey=yyyy"/>
</ConfigurationSettings>

在ServiceConfiguration.Local.cscfg中我有:

   <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
      <Setting name="StorageConnectionString" value="UseDevelopmentStorage=true" />
    </ConfigurationSettings>

我将此转换为标准MVC Web项目中的Azure项目,以便使用Azure存储blob等。我发现无论我做什么,它总是使用Azure存储。

当我逐步浏览上面的代码片段时,我可以清楚地看到返回的连接字符串是来自web.config应用程序设置的...我觉得我必须做一些根本错误或遗漏的东西......? 当我转换项目时,一个小点(可能是?),有一个关于连接字符串错误的错误消息(弹出并且不可保存)并且它不起作用。我当时甚至都没有创建这个特定的连接字符串,而另一个连接字符串(对于localDB确实有效)。然而,这是在web.config部分,因为它没有破坏我没有修复它进入.. 任何帮助将不胜感激。

进一步添加,根据下面的Igorek的评论,我确实检查了角色设置,看起来它们是正确的。 然后..经过大量的搞乱,一些实验仍然没有奏效,我退后一步。我实际上不想要一个云服务,我最终得到一个,因为我认为我需要一个访问Blob和队列,我已经确定WebJobs似乎是首先要尽可能保持抽象的方式。 所以我回到了之前的Web SITE之前发现但是我似乎仍然无法使用开发存储...虽然我想CLoudConfigurationManager可能无法处理网站?有什么提示吗?

1 个答案:

答案 0 :(得分:1)

在云项目中检查您的角色设置。它将具有默认的开始配置。只需从云交换到本地。