缓慢的ASP回发的异步进度弹出窗口

时间:2015-02-22 04:26:30

标签: c# jquery asp.net ajax asynchronous

我有一个带有更新按钮的页面可能需要两秒钟,或者可能需要五分钟才能回发。用户不知道它是否会超时或何时/是否会返回成功消息。代码隐藏是巨大的,我只保留了一小部分。

我进行了一次进度弹出并将其放在页面上,以便我可以证明它正在处理500条记录中的#50。

弹出窗口使用jQuery AJAX调用从web方法获取JSON对象。 Success函数设置一个计时器以重复调用。

状态信息通过将其放入HttpContext.Current.Cache从代码隐藏传递。 webmethod检索它。我的理解是,我无法使用会话,因为这会阻止它以异步方式运行。

该页面为async =" true"。

来自jQuery的AJAX调用具有" async:true"在它。

webmethod具有[WebMethod(false)]属性。

该页面仍然阻止了网络方法。我尝试使用HttpRuntime.Cache存储状态信息,但这并没有改变任何内容。

我通过将WebMethod移动到.asmx Web服务来修复此问题。现在它以异步方式运行。

我只是好奇我是否有遗漏的东西。我认为我可以指定" async"所有的地方,但我的webmethod不会异步运行,除非我把它放在一个完全不同的页面。那总是异步运行,对吧?那么指定异步的重点是什么呢?

0 个答案:

没有答案