jqueryajax如何确定服务器进程是否正在运行

jquery ajax how to determine a server process is running or not

本文关键字:运行 是否 进程 何确定 服务器 jqueryajax      更新时间:2023-09-26

项目类型:ASP.NET 3.5语言:C#

其中一个页面在页面加载时使用Ajax Timer。因此,在执行开始时,我使用启动计时器

this.AjaxTimer.Enabled = true;

这用于启动耗时代码的执行,如

protected void AjaxTimer_Tick(object sender, EventArgs e)
{
    //Disable the Ajax Timer, so that it won't execute again after 500 ms
    this.AjaxTimer.Enabled = false;
    for (int i = 1; i < 140000; i++)
    {
     // Code here
    }
}

当我使用jQuery关闭浏览器窗口时,我如何知道流程是否已完成或正在运行?

简单地说,当我关闭浏览器窗口时,我如何知道服务器进程是否正在执行?如果它正在运行,我想中止它。

我如何用jQuery 做以下事情

脚本:

function abortRequest() {
    var obj = Sys.WebForms.PageRequestManager.getInstance();
    if (obj.get_isInAsyncPostBack()) {
        obj.abortPostBack();
    }
}

标记:

<body style="background-color: Gray;" onunload="abortRequest();">
    <form id="form1" runat="server">
    </form>
</body>

您可以使用相同的代码来测试服务器端脚本是否正在运行。但是你可以在文档中编写代码。ready function

$(document).ready(function(){
    var obj = Sys.WebForms.PageRequestManager.getInstance();
    if (obj.get_isInAsyncPostBack()) {
        obj.abortPostBack();
    }
});