所以我有一个 .NET MVC 项目,它带有一个从 Ajax POST 调用的更新控制器,它可能需要很长时间才能运行,这会导致超时异常。
但是,当我在本地机器上调试它时,它运行良好 - 当我将它发布到我的天蓝色网站并从那里更新它时,请求永远不会成功完成并且 Chrome 的控制台报告:
POST http://mysiteaddress/Admin/UpdateLibrary/Update?Length=13 504 (Proxy Timeout ( This operation returned because the timeout period expired. ))
在 Firefox 中的远程桌面上尝试相同的操作会导致控制台报告:
[07:42:13.856] POST http://mysiteaddress/Admin/UpdateLibrary/Update?Length=13 **[HTTP/1.1 502 Bad Gateway 182940ms]**
我尝试在我的 web.config 文件中设置一个长时间的超时
<httpRuntime executionTimeout="2000"/>
在我的 ajax 调用中
$.ajax({
url: this.action,
type: 'POST',
data: $(this).serialize(),
success: function (data) {
document.write(data);
},
failure: function (XMLHttpRequest, textStatus, errorThrown) {
console.log(XMLHttpRequest);
console.log(textStatus);
console.log(errorThrown);
},
timeout: 2000000 //Milliseconds
});
但没有喜悦。