Вызов веб-сервиса в асинхронном режиме по-прежнему зависает - PullRequest
0 голосов
/ 03 июня 2010

У меня есть страница aspx с тремя кнопками ввода.

Первая кнопка, использующая javascript / ajax, запускает вызов IHttpAsyncHandler. Обработчик вызывает веб-сервис на другом сервере (который генерирует отчет и возвращает путь к файлу отчета). В обратном вызове ajax XmlHttp.responseText возвращает правильный путь, и вызов window.open (путь) открывает отчет, без проблем.

Две другие кнопки открывают новые окна для других страниц aspx на текущем сайте.

Проблема в том, что после нажатия первой кнопки, нажатие двух других кнопок не дает мне страницы aspx, пока не отобразится отчет. Пустые окна всплывают, но ничего не отображается, пока отчет не будет завершен.

Что вызывает это время зависания? Я думал, что вызов отчета с использованием ajax и обработчика Async не помешает появлению других страниц aspx.

Другие попытки:
1. создание reportGenCompletedEventHandler в главном aspx и вызов службы с помощью reportGenAsync(...)
2. звонит (в основном aspx)

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

3. звонит (в основном aspx)

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

4. То же, что и выше, создание отдельного AsyncHandler, но также создание отдельного потока.

Очевидно, я что-то здесь упускаю. Можно ли вызвать веб-сервис в другом месте и при этом иметь полный контроль над вашим приложением?

Спасибо

1 Ответ

0 голосов
/ 03 июня 2010

Страницы, которые вы пытаетесь открыть на одном веб-хосте? Если это так, я предполагаю, что вы достигли предела "Максимум 2 одновременных подключения к одному хосту".

Ссылка здесь на asp.net описывает, как IE8 позволяет вам выйти за рамки этого.

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