自定义WebPart准确地在5分钟后定时

时间:2014-02-27 17:18:03

标签: c# asp.net sharepoint-2010

我有一个SharePoint 2010 webpart,在QA服务器上5分钟后超时。 QA环境是1个Web服务器,2个app服务器和一个SQL Server。我已经尝试过一切来解决这个问题。更改了IIS超时,工作者故障,禁用ping检查,无效。这是世界上最简单的代码!!

有人可以在您的某个环境中尝试此操作吗?最好有一个组成农场的多个服务器。这段代码完全适用于我们的开发服务器,它只是一个盒子。我正在做的就是调用SPLongOperation,睡6分钟,然后结束长时间的操作。

任何人都知道我错过了什么?

代码:

    protected void btnTest_Click(object sender, EventArgs e)
    {
        string currentUrl = SPContext.Current.Web.Url;

        using (SPLongOperation operation = new SPLongOperation(this.Page))
        {
            operation.LeadingHTML = "Updating Reports on Selected Project Sites";
            operation.TrailingHTML = "Gathering the worker threads, this could take a second. Please stand by...";
            operation.Begin();

            Thread.Sleep(360000);                

            operation.End(currentUrl, SPRedirectFlags.Default, this.Context, "");

        }

        SetStatus("Slept for a long time!", false);
    }

有趣的是,如果我运行以下操作,我没有导航到长操作页面,它会让我重新进行身份验证,然后重定向到“Internet Explorer无法显示网页”屏幕。很奇怪。

    protected void btnTest2_Click(object sender, EventArgs e)
    {
        SetStatus("Before Sleep", false);
        Thread.Sleep(360000);
        SetStatus("Sleep Successful!", false);
    }

0 个答案:

没有答案