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 コンソールで表示) が発生します。エラー コールバックの「エラー」パラメータは何も返しません。
ホストされている場合にのみ504エラーが発生します-私の開発では正常に動作します。
この 504 エラーを防ぐにはどうすればよいですか?
注意してください、私はすでに web.config の executionTimeout プロパティと ajax タイムアウトを変更しようとしました。どちらも機能しませんでした。