无法读取存储帐户和密钥 - Azure

时间:2018-04-29 14:22:01

标签: azure azure-storage azure-storage-blobs

我正在尝试将图片上传到Blob。因此在Web.Config中我有这样的设置:

            <appSettings>
                <add key="webpages:Enabled" value="false" />
                <add key="StorageAccountName" value="storageaccount1"/> 
                <add key="StorageAccountKey" value="storageaccountkey1"/>
              </appSettings>

以下是门户网站的样子:

enter image description here

我的Dot Net代码如下:

        public class ConnectionString
            {
                static string account = CloudConfigurationManager.GetSetting("StorageAccountName");
                static string key = CloudConfigurationManager.GetSetting("StorageAccountKey");
                public static CloudStorageAccount GetConnectionString()
                {
                    string connectionString = string.Format("DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1}", account, key);
                    return CloudStorageAccount.Parse(connectionString);
                }
            }

但是,我的帐户&#34;和&#34;关键&#34;变量返回NULL。

任何人都可以建议,我做错了什么?我有什么遗失的吗?

注意:我可以通过&#34; Azure Storage Explorer&#34;上传图片。

3 个答案:

答案 0 :(得分:1)

CloudConfigurationManager.GetSetting("StorageAccountName");应该可以工作如果您在 Web.config 文件中进行配置。我用Asp.net MVC文件测试它。它在我身边正常工作。

enter image description here

测试结果:

enter image description here

CloudConfigurationManager.GetSetting("MySetting")
  

将从所有配置文件中读取值,即app.config,web.config和ServiceConfiguration.cscfg。

注意:如果我们在 Web.Debug.config 而不是web.config文件中配置appsetting,它将获得null值。

答案 1 :(得分:0)

要阅读web.config文件,请使用ConfigurationManager.AppSettingsCloudConfigurationManager.GetSetting()用于实际读取.cscfg文件。

答案 2 :(得分:0)

问题已解决。我正在使用视图下的web.config(这是错误的)。没有.Net代码改变了。通过使用正确的web.config解决了这个问题。