代码之家  ›  专栏  ›  技术社区  ›  avernet

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

  •  2
  • avernet  · 技术社区  · 16 年前

    当我与我创建的Web应用程序交互时,我会不时地看到这个错误(见帖子标题)。应用程序使用Ajax与服务器进行通信,但不做任何对IEI特别重要的操作。当在Firefox或Safari上运行相同的应用程序时,不会发生此错误或任何其他错误。

    您以前是否看到过此错误消息,知道是什么导致了此错误,或者对如何处理此错误有任何建议?

    1 回复  |  直到 16 年前
        1
  •  3
  •   Tommy Hui    16 年前

    这是一个一般的COM错误。现在的情况是ajax组件xmlhttprequest是一个com对象,因此遵循com的规则。这里可能发生的是xmlhttprequest正在发送传入事件。在对该事件的响应中,可能会调用另一个公寓中不同的COM对象的代码,最终会导致死锁。COM检测到并防止这种情况发生。

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