2013-08-22 4 views
0

У меня есть действие контроллера, которое импортирует загруженный файл excel в базу данных. Импорт может занять несколько минут. Как я могу сообщить о ходе импорта клиенту? Я знаю, что мне нужно использовать ajax, но я не мог найти никакого чистого кода, который был бы идеальным, чтобы сообщить о прогрессе.Связь между сервером и клиентом

Я совершенно новый для mvc4 и asp.net. Поэтому я хотел бы услышать ваши советы/подходы к решению моей проблемы. Я хотел бы написать твердое и чистое решение, но я действительно не знаю, с чего начать.

Было бы очень приятно, если бы у кого-либо возникли какие-либо проблемы с сообщением о прогрессе клиенту.

ответ

0

Простым методом является метод загрузки (который начинает обработку) возвращает идентификатор для выполняемого задания. Затем запросите статус задания с помощью этого идентификатора.

0

Я бы настоятельно рекомендовал использовать плагин plupload. This plugin Он отлично работает для всех браузеров и имеет индикатор выполнения.

+0

хорошо. насколько я читаю -> этот плагин предназначен для загрузки файлов. Мне это не нужно. –

0

Если вы импортируете данные в MSSQL через задание, вы можете использовать скрипт для контроля состояния задания до его завершения. Если клиенту необходимо знать% импортируемой записи, вы можете получить количество строк, которые будут импортированы из листа excel, и сравнить их с полными строками в таблице. Затем вы можете вернуть процент импортированных строк.

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

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

Смежные вопросы