我有一个带三个输入按钮的aspx页面。
第一个按钮,使用javascript / ajax,触发对IHttpAsyncHandler的调用。 处理程序在另一台服务器上调用Web服务(生成报告并返回报告文件的路径)。在ajax回调中,XmlHttp.responseText返回正确的路径,window.open(path)调用打开报告,没问题。
其他两个按钮打开当前站点上其他aspx页面的新窗口。
问题是,在我单击第一个按钮后,单击其他两个按钮,直到显示报告后才会显示aspx页面。弹出空白窗口,但在报告完成之前不会呈现任何内容。
导致挂起时间的原因是什么?我以为使用ajax调用报告并且Async处理程序不会干扰弹出其他aspx页面。
其他尝试:
1.在主aspx中创建reportGenCompletedEventHandler
并使用reportGenAsync(...)
来调用服务
2.调用(在主aspx中)
AddOnPreRenderCompleteAsync(New BeginEventHandler(...),New EndEventHandler(...)
3。调用(在主aspx中)
Page.RegisterAsyncTask(New PageAsyncTask(...))
Page.ExecuteRegisteredAsyncTasks()
4。与上面相同,创建一个单独的AsyncHandler,但也创建一个单独的线程。
显然,我在这里遗漏了一些东西。是否可以在其他地方调用Web服务并仍然可以完全控制您的应用程序?
由于
答案 0 :(得分:0)
您尝试在同一个网络主机上点击的网页是什么?如果是这样,我猜你已经达到了“同一主机的最大2个并发连接”限制。
链接here on asp.net描述了IE8如何让您超越它。