Ошибка IE 7: «Исходящий вызов не может быть выполнен, так как приложение отправляет синхронный входной вызов» - PullRequest
2 голосов
/ 22 февраля 2009

Время от времени я получаю эту ошибку (см. Заголовок сообщения), когда я взаимодействую с созданным веб-приложением. Приложение использует Ajax для связи с сервером, но не делает ничего особенного для IE. Я не получаю эту ошибку или любую другую ошибку при запуске одного и того же приложения в Firefox или Safari.

Вы уже видели это сообщение об ошибке раньше, знаете, что может вызвать это, или у вас есть какие-либо рекомендации о том, как с этим бороться?

1 Ответ

3 голосов
/ 22 февраля 2009

Это общая ошибка COM. Происходит то, что компонент AJAX, XmlHttpRequest, является объектом COM и поэтому следует правилам для COM. Вероятно, здесь происходит то, что XmlHttpRequest отправляет входящее событие. В ответ на это событие, вероятно, есть код, который вызывает другой COM-объект в другой квартире, что в конечном итоге приведет к тупику. COM обнаруживает это и предотвращает это.

Общая рекомендация - разбить приложение этого типа на использование очередей. Вместо немедленного реагирования на события сохраните событие в очередь и немедленно вернитесь. Затем обработайте события асинхронно, используя таймер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...