powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / асинхронные запросы (одновременное выполнение)
13 сообщений из 13, страница 1 из 1
асинхронные запросы (одновременное выполнение)
    #34346599
metalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Специфика моего веб-сервера на ASP.NET 1.1 (IIS 6) состоит в том, что сервер отправляет пользователю простенькую страницу на html и javascript. И уже на стороне клиента начинается богатая жизнь. Пользователь сам выбирает что ему нужно загружать и как работать.
Классический AJAX.
Проблема в том, что есть запросы простенькие, 2 мс и готово, а есть огромные (например export в Excel, PowerPoint, ...), которые могут идти до минуты. Так вот, во время работы этих монстров, мои маленькие не могут протиснуться - они ожидают пока закончится выполнение прошлого запроса этого пользователя.
Хотя данные, с которыми работают эти потоки не пересекаются! И они не могут повлиять на работу друг друга.

Вопрос, в том, как реализовать возможность обработки нескольких асинхронных запросов от ОДНОГО пользователя одновременно?

И сопуствующий вопрос, как убить уже ненужный запрос, чтобы не жрал проц и память?
Такой код:
var xmlRequest = new ActiveXObject( "Microsoft.XMLHTTP" );
...
xmlRequest.abort();

крайне плохо работает. Он вроде и убивает поток на веб-сервере, но как-то не сразу, приходится порой долго ждать.
...
Рейтинг: 0 / 0
асинхронные запросы (одновременное выполнение)
    #34346724
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Специфика моего веб-сервера на ASP.NET 1.1 (IIS 6) состоит в том, что сервер отправляет пользователю простенькую страницу на html и javascript. И уже на стороне клиента начинается богатая жизнь. Пользователь сам выбирает что ему нужно загружать и как работать.
Классический AJAX.
Проблема в том, что есть запросы простенькие, 2 мс и готово, а есть огромные (например export в Excel, PowerPoint, ...), которые могут идти до минуты. Так вот, во время работы этих монстров, мои маленькие не могут протиснуться - они ожидают пока закончится выполнение прошлого запроса этого пользователя.
Хотя данные, с которыми работают эти потоки не пересекаются! И они не могут повлиять на работу друг друга.

Вопрос, в том, как реализовать возможность обработки нескольких асинхронных запросов от ОДНОГО пользователя одновременно?

И сопуствующий вопрос, как убить уже ненужный запрос, чтобы не жрал проц и память?
Такой код:
var xmlRequest = new ActiveXObject( "Microsoft.XMLHTTP" );
...
xmlRequest.abort();

крайне плохо работает. Он вроде и убивает поток на веб-сервере, но как-то не сразу, приходится порой долго ждать.
Так ведь делай асинхронную обработку внутри aspx. Да и аджакс можно сделать асинхронным если сделать ставну на специальный "фреймовый" аджакс. Что касается отмены запроса, то это кнопка "прервать загрузку страницы". А сервер сам умеет распознавать оживает ли клиент загрузку или нет.
Есть многое на свете, друг Гораций, что непонятно нашим мудрецам.
...
Рейтинг: 0 / 0
асинхронные запросы (одновременное выполнение)
    #34350357
metalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для асинхронных запросов я использую свой handler webcall.ashx.

Так вот проблема в том, когда пришёл первый запрос и он не выполнится, второй даже не начинает выполнение.
IHttpHandler.ProcessRequest выполняет для одного юзера всегда последовательно.

Я пробывал использовать IHttpAsyncHandler, но результат тот же
BeginProcessRequest.ProcessRequest никогда вызовется пока не закончит работу предыдущий запрос для этого юзера.

Но! В Global.asax Application_BeginRequest вызывается как положено, т.е. по поступлению запроса тут же начинает его обработка.
Отсюда вывод что код локирования спрятан где-то в глубинах asp.net.
Думаю это близко к System.Web.HttpApplication.CallHandlerExecutionStep и метода ResumeSteps, но самой блокировки я не нашёл.

Возможно есть какой-нибудь флажок, который снимет это ограничение.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
асинхронные запросы (одновременное выполнение)
    #39146357
vdp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vdp
Гость
Может кто нить подскажет как с этим бороться?

авторЯ пробывал использовать IHttpAsyncHandler, но результат тот же
BeginProcessRequest.ProcessRequest никогда вызовется пока не закончит работу предыдущий запрос для этого юзера.
...
Рейтинг: 0 / 0
асинхронные запросы (одновременное выполнение)
    #39146686
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdp,
IsReusable?
...
Рейтинг: 0 / 0
асинхронные запросы (одновременное выполнение)
    #39146856
vdp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vdp
Гость
ЕвгенийВvdp,
IsReusable?
Что true что false - одно и тоже. Куда еще смотреть?
...
Рейтинг: 0 / 0
асинхронные запросы (одновременное выполнение)
    #39146860
vdp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vdp
Гость
Когда запросы приходят с разных машин - то одновременно выполняются. Проблема только когда с одной и той же несколько.
...
Рейтинг: 0 / 0
асинхронные запросы (одновременное выполнение)
    #39146866
vdp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vdp
Гость
Боюсь что про разные машини я поспешил - тоже самое.
...
Рейтинг: 0 / 0
асинхронные запросы (одновременное выполнение)
    #39147132
vdp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vdp
Гость
Поставил виртуальную машину с Win2008 R2 server - и там все ок
А у меня Windows 10 home z IIS (встроеный) и тут только 3 запроса на раз. Может это какое то ограничение или в реестре что нить?
...
Рейтинг: 0 / 0
асинхронные запросы (одновременное выполнение)
    #39147141
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdp,
Это ограничение версии windows.
...
Рейтинг: 0 / 0
асинхронные запросы (одновременное выполнение)
    #39147145
vdp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vdp
Гость
ЕвгенийВvdp,
Это ограничение версии windows.
Ясно :(
А не подскажите может где об этом почитать можно?
...
Рейтинг: 0 / 0
асинхронные запросы (одновременное выполнение)
    #39147152
vdp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vdp
Гость
Уже нашел. Спасибо!
...
Рейтинг: 0 / 0
асинхронные запросы (одновременное выполнение)
    #39147169
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdpЯсно :(
А не подскажите может где об этом почитать можно?
В документации виндовс. Мс делает для стимулирования покупки более дорогих серверных операционок.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / асинхронные запросы (одновременное выполнение)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]