调用 ASP.NET Web API 操作时,我的 AJAX 调用返回 504 错误。
更多信息:
这是我的 API 操作:
public HttpResponseMessage Get(string fileName, int feedID)
{
try
{
// create file...
return new HttpResponseMessage { Content = new StringContent("Complete."), StatusCode = HttpStatusCode.OK };
}
catch (Exception ex)
{
Log.WriteError(ex);
throw new HttpResponseException(new HttpResponseMessage
{
StatusCode = HttpStatusCode.InternalServerError,
Content = new StringContent("An error has occurred.")
});
}
}
这是我的 AJAX 调用:
$.ajax({
url: url,
type: 'GET',
success: function () {
$("#lblProgressDownload").hide();
window.open("Previews/" + fileName);
},
error: function (xhr, status, error) {
$("#lblProgressDownload").hide();
alert("Error downloading feed preview: " + error);
}
});
当文件创建时间过长时,我收到 504 错误(在 fiddler/chrome 控制台中查看)。错误回调中的“error”参数不返回任何内容。
我只在托管时收到 504 错误 - 在我的开发人员上它工作正常。
如何防止此 504 错误?
请注意,我已经尝试更改 web.config 中的 executionTimeout 属性以及 ajax 超时。都没有奏效。