我确实意识到他的问题被提出并得到了回答,但不幸的是,完全清理、重建、重新启动的解决方案在我的情况下不起作用,而且我的低级声誉不允许我发表评论。所以我觉得我不得不用我的信息再次问它。示例代码:
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>
为了使用 Azure 存储 blob 等,我将其从标准 MVC Web 项目转换为 Azure 项目。我发现无论我做什么,它总是使用 Azure 存储。
当我逐步浏览上面的代码片段时..我可以清楚地看到返回的连接字符串来自 web.config 应用程序设置...我觉得我一定是在做一些根本错误或遗漏的事情..?一个小点(也许?)当我转换项目时,有一条关于连接字符串错误的错误消息(在弹出窗口中且不可保存)并且它不起作用。那时我什至还没有创建这个特定的连接字符串,而唯一的另一个(对于 localDB 确实有效)。然而,那是在 web.config 部分,因为它没有坏我没有修复它进入..任何帮助将不胜感激。
进一步补充,从下面 Igorek 的评论中,我确实检查了角色设置,它们似乎是正确的。然后..经过一番折腾,一些仍然没有奏效的实验,我退了一步。我实际上不想要云服务,我最终选择了一个,因为我认为我需要一个来访问 Blob 和队列,我已经决定 WebJobs 似乎是首先保持尽可能抽象的方法。因此,我已经回滚到以前找到的网站之前,但我似乎仍然无法让它使用开发存储。虽然我认为 CLoudConfigurationManager 可能不处理网站?有小费吗?