2

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 タイムアウトを変更しようとしました。どちらも機能しませんでした。

4

1 に答える 1