Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
асинхронные запросы (одновременное выполнение)
|
|||
|---|---|---|---|
|
#18+
Специфика моего веб-сервера на ASP.NET 1.1 (IIS 6) состоит в том, что сервер отправляет пользователю простенькую страницу на html и javascript. И уже на стороне клиента начинается богатая жизнь. Пользователь сам выбирает что ему нужно загружать и как работать. Классический AJAX. Проблема в том, что есть запросы простенькие, 2 мс и готово, а есть огромные (например export в Excel, PowerPoint, ...), которые могут идти до минуты. Так вот, во время работы этих монстров, мои маленькие не могут протиснуться - они ожидают пока закончится выполнение прошлого запроса этого пользователя. Хотя данные, с которыми работают эти потоки не пересекаются! И они не могут повлиять на работу друг друга. Вопрос, в том, как реализовать возможность обработки нескольких асинхронных запросов от ОДНОГО пользователя одновременно? И сопуствующий вопрос, как убить уже ненужный запрос, чтобы не жрал проц и память? Такой код: var xmlRequest = new ActiveXObject( "Microsoft.XMLHTTP" ); ... xmlRequest.abort(); крайне плохо работает. Он вроде и убивает поток на веб-сервере, но как-то не сразу, приходится порой долго ждать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 12:36 |
|
||
|
асинхронные запросы (одновременное выполнение)
|
|||
|---|---|---|---|
|
#18+
Специфика моего веб-сервера на ASP.NET 1.1 (IIS 6) состоит в том, что сервер отправляет пользователю простенькую страницу на html и javascript. И уже на стороне клиента начинается богатая жизнь. Пользователь сам выбирает что ему нужно загружать и как работать. Классический AJAX. Проблема в том, что есть запросы простенькие, 2 мс и готово, а есть огромные (например export в Excel, PowerPoint, ...), которые могут идти до минуты. Так вот, во время работы этих монстров, мои маленькие не могут протиснуться - они ожидают пока закончится выполнение прошлого запроса этого пользователя. Хотя данные, с которыми работают эти потоки не пересекаются! И они не могут повлиять на работу друг друга. Вопрос, в том, как реализовать возможность обработки нескольких асинхронных запросов от ОДНОГО пользователя одновременно? И сопуствующий вопрос, как убить уже ненужный запрос, чтобы не жрал проц и память? Такой код: var xmlRequest = new ActiveXObject( "Microsoft.XMLHTTP" ); ... xmlRequest.abort(); крайне плохо работает. Он вроде и убивает поток на веб-сервере, но как-то не сразу, приходится порой долго ждать. Так ведь делай асинхронную обработку внутри aspx. Да и аджакс можно сделать асинхронным если сделать ставну на специальный "фреймовый" аджакс. Что касается отмены запроса, то это кнопка "прервать загрузку страницы". А сервер сам умеет распознавать оживает ли клиент загрузку или нет. Есть многое на свете, друг Гораций, что непонятно нашим мудрецам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 13:02 |
|
||
|
асинхронные запросы (одновременное выполнение)
|
|||
|---|---|---|---|
|
#18+
Для асинхронных запросов я использую свой handler webcall.ashx. Так вот проблема в том, когда пришёл первый запрос и он не выполнится, второй даже не начинает выполнение. IHttpHandler.ProcessRequest выполняет для одного юзера всегда последовательно. Я пробывал использовать IHttpAsyncHandler, но результат тот же BeginProcessRequest.ProcessRequest никогда вызовется пока не закончит работу предыдущий запрос для этого юзера. Но! В Global.asax Application_BeginRequest вызывается как положено, т.е. по поступлению запроса тут же начинает его обработка. Отсюда вывод что код локирования спрятан где-то в глубинах asp.net. Думаю это близко к System.Web.HttpApplication.CallHandlerExecutionStep и метода ResumeSteps, но самой блокировки я не нашёл. Возможно есть какой-нибудь флажок, который снимет это ограничение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2007, 14:31 |
|
||
|
асинхронные запросы (одновременное выполнение)
|
|||
|---|---|---|---|
|
#18+
Может кто нить подскажет как с этим бороться? авторЯ пробывал использовать IHttpAsyncHandler, но результат тот же BeginProcessRequest.ProcessRequest никогда вызовется пока не закончит работу предыдущий запрос для этого юзера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 13:12 |
|
||
|
асинхронные запросы (одновременное выполнение)
|
|||
|---|---|---|---|
|
#18+
vdp, IsReusable? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 17:43 |
|
||
|
асинхронные запросы (одновременное выполнение)
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВvdp, IsReusable? Что true что false - одно и тоже. Куда еще смотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 23:36 |
|
||
|
асинхронные запросы (одновременное выполнение)
|
|||
|---|---|---|---|
|
#18+
Когда запросы приходят с разных машин - то одновременно выполняются. Проблема только когда с одной и той же несколько. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 23:39 |
|
||
|
асинхронные запросы (одновременное выполнение)
|
|||
|---|---|---|---|
|
#18+
Боюсь что про разные машини я поспешил - тоже самое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2016, 23:47 |
|
||
|
асинхронные запросы (одновременное выполнение)
|
|||
|---|---|---|---|
|
#18+
Поставил виртуальную машину с Win2008 R2 server - и там все ок А у меня Windows 10 home z IIS (встроеный) и тут только 3 запроса на раз. Может это какое то ограничение или в реестре что нить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2016, 11:54 |
|
||
|
асинхронные запросы (одновременное выполнение)
|
|||
|---|---|---|---|
|
#18+
vdp, Это ограничение версии windows. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2016, 12:03 |
|
||
|
асинхронные запросы (одновременное выполнение)
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВvdp, Это ограничение версии windows. Ясно :( А не подскажите может где об этом почитать можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2016, 12:05 |
|
||
|
асинхронные запросы (одновременное выполнение)
|
|||
|---|---|---|---|
|
#18+
Уже нашел. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2016, 12:11 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=34346724&tid=1356078]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 262ms |
| total: | 410ms |

| 0 / 0 |
