Ограничено ли ограничение ASP.NET AJAX «Один запрос за раз» использованием UpdatePanels? - PullRequest
0 голосов
/ 26 июля 2010

Мы только что написали онлайн-приложение для работы, которое состоит из нескольких динамических модулей, и у каждого из них есть отдельные режимы Create / Edit / Update, которые они вызывают асинхронно, чтобы избежать полных обратных передач страниц. В основном вы сохраняете данные в разных модулях при заполнении заявки, а затем отправляете ее в конце.

Будучи новичком в AJAX, мы изначально реализовали модули с использованием UpdatePanels. Теперь, когда мы использовали его некоторое время, мы лучше понимаем некоторые ограничения подхода UpdatePanel. В любое время на странице приложения может быть от 30 до 40 панелей обновления.

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

Мой вопрос заключается в том, является ли это просто поведением UpdatePanels и не будет ли это проблемой, когда я перейду к выполнению вызовов веб-служб из кода javascript. Я предполагаю, что страница может делать столько разных асинхронных вызовов javascript за один раз, сколько захочет, но я хотел убедиться, что это так, потому что это большая проблема, которую мы пытаемся решить с помощью переписывания. *

Спасибо

1 Ответ

0 голосов
/ 27 июля 2010

Да, это только ограничение UpdatePanel. Его ограничение одиночного запроса необходимо, потому что асинхронные обратные передачи UpdatePanel по-прежнему являются просто обратными передачами со всем циклическим возвратом ViewState, который обычно связан с полными обратными передачами. Если одновременно было разрешено выполнять более одного, ViewState быстро потерял бы синхронизацию между ними, и все пошло бы вниз.

Используя веб-службы, вы можете выполнять столько одновременных запросов, сколько браузер пользователя поддерживает для каждого домена.

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