Asp.net mvc Microsoft.WindowsAzure.Storage.dll中发生“System.ArgumentNullException”类型的异常,但未在用户代码中处理

Asp.net mvc Microsoft.WindowsAzure.Storage.dll中发生“System.ArgumentNullException”类型的异常,但未在用户代码中处理,asp.net-mvc,visual-studio,azure-storage-blobs,azure-media-services,Asp.net Mvc,Visual Studio,Azure Storage Blobs,Azure Media Services,我正在尝试连接到Azure media storage以上载文件,但每次尝试上载文件时都会出现错误 错误出现在代码的以下部分: var container = CloudStorageAccount.Parse( ConfigurationManager.AppSettings["StorageConnectionString"]).CreateCloudBlobClient() .GetContainerReference(Configurati

我正在尝试连接到Azure media storage以上载文件,但每次尝试上载文件时都会出现错误

错误出现在代码的以下部分:

var container = CloudStorageAccount.Parse(
            ConfigurationManager.AppSettings["StorageConnectionString"]).CreateCloudBlobClient()
            .GetContainerReference(ConfigurationManager.AppSettings["StorageContainerReference"]);
应用程序设置如下所示:

  <appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=mediasvczfpr6c9dg9jx2;AccountKey=+DlbXTjZG7bni9LOKaYOxqsxBxXVmzh7BpPzWByBi/Csl9XZ+VRcqMbZxuwcbDIg88o73+6M9ByVLwsHNNyLKQ==" />
    <add key="CloudStorageContainerReference" value="temporary-media" />
    <add key="StorageAccountKey" value ="+DlbXTjZG7bni9LOKaYOxqsxBxXVmzh7BpPzWByBi/Csl9XZ+VRcqMbZxuwcbDIg88o73+6M9ByVLwsHNNyLKQ==" />
    <add key="StorageAccountName" value="mediasvczfpr6c9dg9jx2" />
    <add key="MediaAccountName" value="azurevideoportal" />
    <add key="MediaAccountKey" value="T2yMBqN0mk2O//cX+5RMYhqWOS3ekd0RJ3bLtTO5TgI=" />
  </appSettings>
我不明白为什么它不会连接到我的azure存储,因为我在另一个项目中使用了相同的连接,它工作正常

容器变量返回空值,因此错误显示:


附加信息:值不能为null。

来自代码中的此行

var container = CloudStorageAccount.Parse(
        ConfigurationManager.AppSettings["StorageConnectionString"]).CreateCloudBlobClient()
        .GetContainerReference(ConfigurationManager.AppSettings["StorageContainerReference"]);
我在你的应用程序设置中没有看到任何名为StorageContainerReference的内容。从Azure文档本身来看,我认为这样做是正确的


在您的示例中,可能是因为没有给定名称的设置,或者可能是StorageConnectionString设置中的fult,这只是一个简单的变量命名错误:

在导致异常的代码行中,您引用了Web.config文件中的变量StorageContainerReference。但是,在Web.config文件中,变量名为CloudStorageContainerReference

试试这个,它应该会有帮助:

<appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=mediasvczfpr6c9dg9jx2;AccountKey=+DlbXTjZG7bni9LOKaYOxqsxBxXVmzh7BpPzWByBi/Csl9XZ+VRcqMbZxuwcbDIg88o73+6M9ByVLwsHNNyLKQ==" />
    <add key="StorageContainerReference" value="temporary-media" />
    <add key="StorageAccountKey" value ="+DlbXTjZG7bni9LOKaYOxqsxBxXVmzh7BpPzWByBi/Csl9XZ+VRcqMbZxuwcbDIg88o73+6M9ByVLwsHNNyLKQ==" />
    <add key="StorageAccountName" value="mediasvczfpr6c9dg9jx2" />
    <add key="MediaAccountName" value="azurevideoportal" />
    <add key="MediaAccountKey" value="T2yMBqN0mk2O//cX+5RMYhqWOS3ekd0RJ3bLtTO5TgI=" />
  </appSettings>

你为什么在一条线上做所有的事?
<appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=mediasvczfpr6c9dg9jx2;AccountKey=+DlbXTjZG7bni9LOKaYOxqsxBxXVmzh7BpPzWByBi/Csl9XZ+VRcqMbZxuwcbDIg88o73+6M9ByVLwsHNNyLKQ==" />
    <add key="StorageContainerReference" value="temporary-media" />
    <add key="StorageAccountKey" value ="+DlbXTjZG7bni9LOKaYOxqsxBxXVmzh7BpPzWByBi/Csl9XZ+VRcqMbZxuwcbDIg88o73+6M9ByVLwsHNNyLKQ==" />
    <add key="StorageAccountName" value="mediasvczfpr6c9dg9jx2" />
    <add key="MediaAccountName" value="azurevideoportal" />
    <add key="MediaAccountKey" value="T2yMBqN0mk2O//cX+5RMYhqWOS3ekd0RJ3bLtTO5TgI=" />
  </appSettings>