C # asp.net вызов асинхронной функции после загрузки файла - PullRequest
0 голосов
/ 10 марта 2011

У меня возникла следующая проблема: у меня есть форма загрузки файла C # asp.net с кнопкой отправки.После отправки формы файл загружается и начинается постобработка.Дело в том, что постобработка может занять до нескольких минут.

Я хотел бы создать какой-то асинхронный вызов функции постобработки с отображением информации для пользователя.

Итак, шаги должны быть следующими:

  1. форма файла отправляется пользователем, и загрузка начинается
  2. после загрузки файла, некоторая информация показывается пользователю (например, «Обработка».. "или анимация полосы загрузки и т. д.)
  3. Между тем, функция постобработки автоматически запускается в фоновом режиме
  4. После завершения функции постобработки пользователь автоматическиперенаправлен на другую страницу

Когда я искал в Интернете, я нашел несколько примеров, но в основном только об асинхронном вызове функций, асинхронной загрузке файла (метод PageAsync и т. д.).

Любая идея или методы, которые я должен использовать или какой-то учебник?Заранее спасибо

Ответы [ 4 ]

0 голосов
/ 11 марта 2011

В качестве хорошего примера я посмотрел множество мест, и это то, что мне нравится больше всего.

Он не обрабатывает загрузку, но отлично показывает реальный прогресс для пользователя, и его нетрудно реализовать. http://inov8.wordpress.com/2010/08/29/c-asp-net-creating-an-asynchronous-threaded-worker-process-manager-and-updatepanel-progress-monitor-control/

0 голосов
/ 10 марта 2011

Управление jquery / flash uploadify позволит вам сделать это легко.Они также предоставляют метод для асинхронного вызова метода в случае завершения загрузки файла, как описано в этой всеобъемлющей документации .

0 голосов
/ 10 марта 2011

Все зависит от того, насколько вы хотите получить;

  1. Мета-обновление, которое перезагружает страницу до завершения фоновой операции
  2. Какой-то ajax-вызов, который проверяет некоторый ресурс, когда завершается обработка
  3. HTML5 веб-сокеты. если поддерживается, что, вероятно, не так.

Лично я бы использовал номер 2. и использовал бы jQuery для опроса страницы загрузки каждые 500 мс или что-то в этом роде.

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