日期:2014-05-17  浏览次数:20423 次

为什么UpdateProgress只持续了大概1分钟
我做了个例子,aspx的代码。很简单
<asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <br />
        <asp:UpdateProgress ID="UpdateProgress1" runat="server">
            <ProgressTemplate>
                    等待................................
            </ProgressTemplate>
        </asp:UpdateProgress>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                    aaa
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
            </Triggers>
        </asp:UpdatePanel>
        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" 
            style="height: 26px" />
CS的代码
public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(1200000);
    }
}

但实际的运行结果是等待只出现了大概1分钟左右就消失了,实际上这时我跟了,还没Sleep完。
期待高手帮助,我在其它的项目中有类似的应用,所以很郁闷,不知错哪了,还是就是这样。

------解决方案--------------------
sorry
上面那几个控件其实是通过封装Ajax实现的,而xmlHttpRequest其实也一个超时时间,timeout属性和ontimeout事件
你可以通过xmlHttpRequest+WCF实现长连接,也可以通过轮询[WebMethod]来显示进度,后者相对简单稳定