IE 7错误:“由于应用程序正在调度输入同步调用,因此无法进行传出呼叫”

时间:2009-02-22 06:03:31

标签: internet-explorer

当我与我创建的Web应用程序进行交互时,我不时会收到此错误(请参阅帖子标题)。该应用程序使用Ajax与服务器通信,但不执行任何特定于IE的任何操作。在Firefox或Safari上运行相同的应用程序时,我不会收到此错误或任何其他错误。

您之前是否看过此错误消息,知道可能导致此问题的原因,或者对如何处理此问题有任何建议?

1 个答案:

答案 0 :(得分:3)

这是一个通用的COM错误。发生的事情是AJAX组件XmlHttpRequest是一个COM对象,因此遵循COM的规则。这里可能发生的是XmlHttpRequest正在调度传入的事件。在对此事件的响应中,可能有代码调用另一个公寓中的另一个COM对象,最终会导致死锁。 COM检测到这一点并防止这种情况发生。

一般建议是将此类应用程序分解为使用队列。而不是立即响应事件,将事件保存到队列中并立即返回。然后使用计时器异步处理事件。