在Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException接收404 [T]

时间:2019-05-16 09:42:20

标签: c# http-status-code-404 azure-storage

在我们的应用程序中,我们曾经在Azure文件存储中上传HTML文档。 它一直成功进行到[14-May-2019]。现在,我们间歇性地收到404错误。错误显示

WebException: The remote server returned an error: (404) Not Found.
   at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException[T](HttpStatusCode expectedStatusCode, HttpStatusCode actualStatusCode, T retVal, StorageCommandBase`1 cmd, Exception ex) in c:\Program Files (x86)\Jenkins\workspace\dotnet-nov17\Lib\Common\Shared\Protocol\HttpResponseParsers.Common.cs:line 50
   at Microsoft.WindowsAzure.Storage.File.CloudFile.<PutRangeImpl>b__53(RESTCommand`1 cmd, HttpWebResponse resp, Exception ex, OperationContext ctx) in c:\Program Files (x86)\Jenkins\workspace\dotnet-nov17\Lib\ClassLibraryCommon\File\CloudFile.cs:line 4820
   at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndGetResponse[T](IAsyncResult getResponseResult) in c:\Program Files (x86)\Jenkins\workspace\dotnet-nov17\Lib\ClassLibraryCommon\Core\Executor\Executor.cs:line 299

重试后,文件将成功上传。

我们正在使用的Azure存储库是9.2.0.0版。

以下代码用于上传文件。

任何可能触发此问题的想法都会有所帮助

 var file = await GetCloudFile(fileId);
            await file.UploadFromStreamAsync(stream);


1 个答案:

答案 0 :(得分:0)

目前max size of a block blob约为。 4.75 TB,将MB大小的数据存储在块Blob中,当您访问Blob时,这不应导致Azure Blob服务返回404。 404错误表示指定的Blob不存在,Blob名称区分大小写,请确保您提供的文件名(blob name)确实存在于您的容器中(还应区分大小写,例如jpeg,JPG等文件扩展名)< / p>

有关明确的故障排除方法,请参见RequestInformation内的Microsoft.WindowsAzure.Storage.StorageException,有关详细信息,该方法是从Upload [xxx] Async方法抛出的。

希望有帮助。