powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET MVC 5, таймаут для ajax запроса
25 сообщений из 27, страница 1 из 2
ASP.NET MVC 5, таймаут для ajax запроса
    #39646946
Oleg5555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Использую IIS8, приложение ASP.NET MVC 5. На одной из страниц приложения есть форма с набором входных параметров (диапазон дат и еще несколько несущественных). Форма обрабатывается ajax-ом. При выполнении запроса вытягивается некоторый набор данных в json на основании которого строится график на клиенте. Ситуация такова, что при определенном наборе входных данных (при широком диапазоне дат, за несколько лет) запрос может выполняться достаточно долго. Экспериментально установлено, что есть отсечка в 30 секунд. Если запрос выполняется больше 30 секунд ajax завершается ошибкой, если меньше, то все отрабатывает корректно. Использование параметра timeout для $.ajax(...) в клиентском js скрипте никак на эту проблему не влияет. Проблема связана именно с сервером. Причем на локальном хосте под IIS Express все нормально. Запрос отваливается только на рабочем IIS. Очень похожая ситуация описана здесь . Но судя по комментарию она якобы решена параметром timeout в клиентском скрипте, что не помогает на практике. Думаю, где-то есть соответствующая настройка для web сервера, но пока ничего похожего не нашел. Подскажи, может кто-то сталкивался с подобной проблемой? Как можно увеличить это таймаут?
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647015
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg5555,

Можно конечно и увеличить таймаут. Но проблему это не решит. Разбейте данные на порции (пейджинг) и передавайте постепенно блоками. Если сможете дорисовывать график, это будет корректный с точки зрения UX результат. В общем, не в сторону таймаута смотрите, считайте он вам помогает сделать всё правильно.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647022
Oleg5555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это я понимаю, вопрос разбивки данных, оптимизации обработки этого набора это направление для размышления. Но все же хотелось узнать, что это за настройка.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647026
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg5555,
и даже гугле не искали типа?

Где параметры что пробовали?
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647039
Oleg5555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Настройки состояния сеанса не должны быть связаны с этой проблемой. Единственное за что можно было бы зацепиться - это режим состояния сеанса SQL-сервер с параметром таймаута 30 секунд (что-то похожее, по крайней мере по значению параметра). Но эта настройка используется для объектов, хранящихся в состоянии сеанса (которые должны быть сериализуемыми) на уровне SQL. Пробовал для эксперимента менять эту настройку, не помогло. Дело в чем-то другом.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647040
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg5555Это я понимаю, вопрос разбивки данных, оптимизации обработки этого набора это направление для размышления. Но все же хотелось узнать, что это за настройка.

Тогда текст ошибки выложите.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647045
Oleg5555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Текс ошибки стандартный - "Время ожидания выполнения истекло. Время ожидания истекло до завершения операции, или сервер не отвечает."
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647046
Oleg5555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Одно дополнение. Я него ошибся в исходном описании проблемы, под IIS Express тоже самое.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647048
Oleg5555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо. Нашел первоисточник проблемы. Исключение генерировалось не на уровне IIS, а на уровне доступа к данным, на уровне ADO.NET. 30 секунд это ограничение по умолчанию выполнения sql команды. Можно увеличить этот параметр в коде, проблема описана здесь и доки здесь . Попробовал экспериментально поднять значение параметра, все сработало. Над архитектурой и оптимизацией буду еще думать.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647051
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg5555Текс ошибки стандартный - "Время ожидания выполнения истекло. Время ожидания истекло до завершения операции, или сервер не отвечает."
И тип: System.Data.SqlClient.SqlException. Но понадобился день, чтобы понять. Удивительно
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647052
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg5555Над архитектурой и оптимизацией буду еще думать.
Что тут думать? План запроса надо смотреть.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647053
Oleg5555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще раз всем спасибо за комментарии, удивления и "помощь". Тема закрыта.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647065
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg5555Над архитектурой и оптимизацией буду еще думать.

Чё тут думать? Где-нибудь видели, чтобы какой-нибудь интернет-магазин вываливал на одну страницу вам все сто тысяч товаров, ну.. примерно через минут 5-10 ожидания? Нет? А нафига, я бы даже сказал, нахрена так делать?

Это примерно как чуваки, которые на западное смотрят «ух ты», а делают ржавое корыто и довольны. Не делайте так. Делайте по уму, а не через одно место.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647067
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg5555и "помощь"

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

Но что реально удивляет, это вот такая глупая и абсолютно не к месту, ирония. Как будто вам тут все обязаны были, и не угодили.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647069
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAOleg5555Над архитектурой и оптимизацией буду еще думать.
Что тут думать? План запроса надо смотреть.
Если данных реально много, то план особо не поможет.
Я бы порциями сгружал данные на клиента ( если у него конечно памяти хватит) и потом формировал результирующий джейсон.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647070
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeЯ бы порциями сгружал данные на клиента ( если у него конечно памяти хватит) и потом формировал результирующий джейсон.

Даже джипеги пока грузятся отображают изображение с повышением детализации.
Ну как можно сегодня не понимать, что данные надо грузить и отдавать порциями..
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647071
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Ха, толково, утащу себе идею насчет детализации джипега.
спасибо.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39647332
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeЕсли данных реально много, то план особо не поможет.
Ну ну... И как же график у ТС-а строится-то?
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39683789
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заголовок темы мне подходит - поэтому открывать новую не буду.
Хотя проблема у меня иная.
Возможно суть её зарыта в использовании jQuery Dialog.

Возьмем простейший случай:
1. Открываем страницу, например, "Список пользователей"
2. Нажимаем кнопку "Добавить пользователя" - вылезает модальный диалог "Анкета пользователя"
3. Заполняем анкету, жмакаем "Ок" - всё исправно уходит на сервер.

Изменим условия:
1. Открываем страницу, например, "Список пользователей"
2. Выжидаем ~1 минуту.
3. Нажимаем кнопку "Добавить пользователя" - вылезает модальный диалог "Анкета пользователя"
4. Заполняем анкету, жмакаем "Ок" - получаем ошибку "Validation failed for one or more entities" (как будто отправлена не заполненная анкета).
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39683792
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
F12 и теперь добавь логи когда и что идет на сервер.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39683835
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Извиняюсь - я ввел в заблуждение :(
На самом деле последовательность такая:

1. Открываем страницу, например, "Список пользователей"
2. Нажимаем кнопку "Добавить пользователя" - вылезает модальный диалог "Анкета пользователя"
3. Заполняем анкету, жмакаем "Ок" - всё исправно уходит на сервер.

Изменим условия:
1. Открываем страницу, например, "Список пользователей"
2. Нажимаем кнопку "Добавить пользователя" - вылезает модальный диалог "Анкета пользователя"
3. Выжидаем ~1 минуту.
4. Заполняем анкету, жмакаем "Ок" - получаем ошибку "Validation failed for one or more entities" (как будто отправлена не заполненная анкета).

Т.е. провисевшая какое-то время модальная форма "протухает"
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39683847
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльТ.е. провисевшая какое-то время модальная форма "протухает"
Один фиг там смотрите.
При коротких транзакциях не должно быть длинных соединений.
2. У вас MVC, значит минимум ajax. Т.е. get, post и переходы по урлам.
Но там сами смотрите.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39683850
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль2. Нажимаем кнопку "Добавить пользователя" - вылезает модальный диалог "Анкета пользователя"как вариант, без модального окна, в тренде веб - переход на страничку /users/new......
Можно так, можно так.
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39684104
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Курдль2. Нажимаем кнопку "Добавить пользователя" - вылезает модальный диалог "Анкета пользователя"как вариант, без модального окна, в тренде веб - переход на страничку /users/new......
Можно так, можно так.
Если я изменяю тип страницы с модельного на обычный - ясен пень, что все работает по классическому вэбу.
Сколько бы страница не провисела (до таймаута сессии) её POST вызывает корректную посылку данных на сервер.
А логи я читать не умею :( Валится что-то огромным списком в консоли, но выявить нужное не могу.
P.S. А откуда следует, что MVS = повсеместный Ajax?
...
Рейтинг: 0 / 0
ASP.NET MVC 5, таймаут для ajax запроса
    #39684124
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КурдльА логи я читать не умею :( Валится что-то огромным списком в консоли, но выявить нужное не могу.
А здесь с телепатами плохо
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET MVC 5, таймаут для ajax запроса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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