我有一个带有三个输入按钮的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服务并仍然完全控制您的应用程序?
感谢
这些页面位于同一主机上。不过,我只需点击两个按钮,一个用来进行ajax调用,另一个用来弹出一个页面。 [无论如何,我做了注册表更改,但没有任何区别] – eych 2010-06-03 17:05:38