【发布时间】:2016-11-14 08:36:30
【问题描述】:
在我们目前正在开发的 Azure 托管的 Web 应用程序中,我们在上传文件时遇到了一个奇怪的问题,无论是作为多部分表单数据还是通过 AJAX 请求。在上传文件时,浏览器会间歇性地报告连接已被重置,即服务器已终止连接,并且我无法辨别出真正的模式。 Fiddler 为我提供了最详细的错误信息:
HTTP/1.1 504 Fiddler - Send Failure
[Fiddler] SendRequest() failed: System.IO.IOException Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host. < An existing connection was forcibly closed by the remote host
只有在通过 HTTPS 运行时才会发生这种情况(整个站点设置为针对所有请求重定向到 HTTPS)。如果我删除此重定向,我可以通过 HTTP 可靠地上传。
表单和 AJAX 请求由异步 MVC 控制器处理,这些控制器访问发布数据中任何 HttpPostedFileBase 对象上的流 - 然后将这些流上传到 Azure Blob 存储。虽然我不确定这些控制器是否正在处理请求,但考虑到在负载完全上传之前连接已关闭?
有什么想法吗?真的把我的头发扯掉了。
【问题讨论】:
-
你找到解决方案了吗?我的应用程序也有同样的问题。
-
@DaniloVulović 我的解决方案见下文。
标签: asp.net asp.net-mvc forms azure https