Использование AJAX для постепенного сохранения с ASP.NET с многоуровневым веб-приложением - PullRequest
0 голосов
/ 14 апреля 2009

Я стремлюсь реализовать постепенное сохранение по мере использования AJAX для отправки данных обратно на сервер.

Я склоняюсь к реализации JQuery AJAX, но что бы я ни использовал, мне интересно, как это вписывается в трехуровневую веб-архитектуру, которая использует объектные источники данных.

В случае инкрементного сохранения, мне просто нужно обойти источник данных объекта и вызвать мои объекты непосредственно в методе AJAX, или есть способ соединить оба.

Ответы [ 2 ]

0 голосов
/ 14 апреля 2009

Можно ли просто использовать элемент управления таймером AJAX, настроить его выполнение каждые 30 секунд (или что-то еще), получить данные из ваших полей ввода, применить их к параметрам ObjectDataSource и вызвать Update или Insert в зависимости от того, новый или старый контент?

0 голосов
/ 14 апреля 2009

Не зная, как выглядит ваша модель, я могу только предположить, что вы отправляете двоичные данные на сервер, а вы не хотите сразу отбрасывать весь двоичный объект.

Не спрашивая почему - в этом сценарии вы хотели бы создать базовый шаблон «чанкирования», в котором вы берете данные, которые пытаетесь сохранить, разбиваете их на куски. Вы отправляете чанк с порядковым номером на сервер и продолжаете отправлять чанки асинхронно в любом порядке. Когда сервер получил все чанки (зная об этом, возможно, вы уже отправили «манифест чанка» на сервер), он может зафиксировать все эти чанки в базе данных или на диске или как угодно.

Если вы имеете дело со строками данных, а не с кусками двоичных данных, шаблон все еще довольно похож. Независимо от вашей библиотеки реализации Ajax, цель будет состоять в том, чтобы определить, сколько строк вы планируете отправлять обратно, настроить какой-либо индикатор выполнения, который обновляется динамически, а затем постоянно вызывать метод, который отправляет одну строку измененных данных. Каждый раз, когда вы делаете это (успешно), вы можете затем перемещать индикатор выполнения вперед и позволить пользователю полностью осознавать ход выполнения длительной операции.

Этот шаблон должен работать независимо от того, как вы храните свои базовые объекты.

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