繁体   English   中英

在AJAX通话中获取504 [MVC]

[英]Getting 504 on AJAX call [MVC]

当它驻留在我们生产站点的IIS中时,在我站点的某个页面上遇到504 gateway_timeout。 它在我的本地主机,测试站点和生产服务器的本地主机(通过localhost / link / abc访问)上都可以正常运行

我已经不知道为什么会发生这种情况,这是下面的代码:

function GetTableData(date, period, offset, method) {
    $(".load-bar").show();
    updateTimeStampTabular(date, period, offset, "Try");
    var link;

        if (method != "aa"  && method !=     "bb" && method != "cc") 
        {
        link = "../Tabular/";
         }
        else {
        link = "../Statistics/";
        }

        $.ajax({
        url: link + method,
        type: "GET",
        timeout: 200000,
        data: {
            date: date,
            period: period,
            timezoneOffset: offset
        },
        success: function (data) {
            $(".statistics .table-responsive").html(data);
            var overallStatusText = $(".right-sidebar span.status");
        },
        error: function(xhr, textStatus, errorThrown) {
        alert(xhr.status);
        alert(textStatus);
        alert(xhr.statusText);
        if (globalVars.unloaded)
            return;
        }
        });
        }

我可以确认TabularController中存在带有“ dd”的函数,并且该函数使用[HttpGet]批注。 有什么想法为什么在访问产品URL时会发生这种情况? 除了Tabular / Getdd上的此实例外,其他方法也可以通过相同的方式调用,并且可以正常工作

显然,这与AWS设置的超时有关。 为了解决此问题,我们调整了超时设置并增加了请求等待时间的限制。 我的查询(连接2个非常大和繁忙的表)有时会在3分钟后产生结果,因此我们只是将限制增加到3分钟以上。

我注意到这是原因,因为如果我在测试网站上查看它,则无需等待很长时间,并且该问题仅在使用站点证书的实时网站上发生。

但是,如果我能回到这个问题,我想我要重做查询并使它工作更快(如果可能)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM