2010-06-03 71 views
0

我有一个带有三个输入按钮的aspx页面。异步调用Web服务仍挂起应用程序

第一个使用javascript/ajax的按钮触发对IHttpAsyncHandler的调用。 处理程序在另一台服务器上调用Web服务(该服务生成报告并返回报告文件的路径)。在ajax回调中,XmlHttp.responseText返回正确的路径,并且window.open(path)调用打开报告,没有问题。

其他两个按钮用于打开当前网站上其他aspx页面的新窗口。

问题是,单击第一个按钮后,单击其他两个按钮不会给我aspx页面,直到显示报表之后。空白窗口会弹出,但在报告完成之前不会呈现任何内容。

什么导致了挂起时间?我认为使用ajax调用报表并且异步处理程序不会干扰其他aspx页面的弹出。

其它尝试:
1.在主ASPX创建并调用使用reportGenAsync(...)
2.呼叫(在主CSS)

AddOnPreRenderCompleteAsync(New BeginEventHandler(...),New EndEventHandler(...) 

3.呼叫服务(在主ASPX )

Page.RegisterAsyncTask(New PageAsyncTask(...)) 
    Page.ExecuteRegisteredAsyncTasks() 

4.同上,创建一个单独的AsyncHandler,但也创建一个单独的线程。

显然,我在这里错过了一些东西。是否有可能在别处调用Web服务并仍然完全控制您的应用程序?

感谢

回答

0

你正在试图击中同一个虚拟主机上的网页?如果是这样,我猜你已经达到了“同时连接到同一主机的最大2个并发连接数”限制。

链接here on asp.net描述了IE8如何让你超越。

+0

这些页面位于同一主机上。不过,我只需点击两个按钮,一个用来进行ajax调用,另一个用来弹出一个页面。 [无论如何,我做了注册表更改,但没有任何区别] – eych 2010-06-03 17:05:38