通过我的Azure Web App上传文件时超时

时间:2017-02-06 20:56:42

标签: .net azure asp.net-core

通过作为Azure Web App托管的.NET Core应用程序上传文件时出现以下错误:

  

您要查找的资源已被删除,名称已更改或暂时不可用。

这是在Postman中测试的,并且在22秒左右时没有找到404 Notc。

我的应用程序代码如下,删除了额外的东西:

    public async Task<IActionResult> PostDocuments(ICollection<IFormFile> files)
    {
        foreach (var file in files)
        {
                string path = Path.Combine(uploadsDir, file.FileName);

                //Uploading file to "uploads" to be staged. Doesn't get past here.
                using (var stream = new FileStream(Path.Combine(uploadsDir, file.FileName), FileMode.Create))
                {
                    await file.CopyToAsync(stream);
                }

                //Uploading files to Azure
                if (await _azure.UploadFile(path, file.FileName)
                {
                    // Stuff to add file to database
                }
                else
                {
                    return StatusCode(400, "Could not upload one or all of your files.");
                }
            }
            else
            {
                return StatusCode(400, "One or all of your files are empty, have invalid types, or are targeting mismatched buildings or floors.");
            }
        }

        return StatusCode(201, files);
    }

我认为我的问题只是请求耗时太长而Azure正在取消它以维护应用程序的完整性。从我的研究中听起来也许我需要允许应用程序启动Azure上载并将其添加到数据库中。但是,从我在本地进行的测试来看,即使在我接触到任何控制器的逻辑之前,这个过程的很长一段时间也是如此。有更好的方法吗?

1 个答案:

答案 0 :(得分:3)

如果您通过IIS托管.net核心应用程序,您仍然可以将web.config文件添加到应用程序的根目录。当您在较大的文件上传时出现超时或404错误,则可能是maxAllowedContentLength问题。

有一些好的答案here可以更详细地描述这一点。

如果您使用IIS托管,简短的回答是将此添加到您的web.config文件中。

else if