как передавать данные или сообщение с сервера sql на веб-приложение
Я разрабатываю проект веб-приложения asp.net MVC 3. Проект прост, он предоставляет веб-страницу с перечислением хранимых процедур в SQL Server. когда пользователь выбирает хранимую процедуру и нажимает кнопку "запустить", она вызывается для выполнения в SQL Server и возвращает некоторый результат выполнения.
Моя хранимая процедура логически разделена на несколько этапов, например, 10 шагов, каждый шаг печатает сообщение, такое как step 1: doing A...
, step2: dong B...
, до step 10: done
или step 10: fail. (with error message)
step 10: fail. (with error message)
.
Я не хочу, чтобы пользователь просто зависал, чтобы дождаться завершения хранимой процедуры и просто увидеть окончательное сообщение. Я хочу, чтобы они увидели какое-то живое исполнение хранимой процедуры, так что пользователь хорошо обновил, где хранится процедура. Некоторые хранимые процедуры выполняются быстро и занимают несколько секунд, некоторые из них очень медленные и требуют даже 1 часа, чтобы закончить,
Теперь возникает вопрос: как я могу направить тезисные сообщения с SQL Server на веб-приложение, чтобы в веб-браузере пользователь мог видеть, как каждое сообщение шага печатается в режиме реального времени?
Я ищу много информации, лучшее, что я могу видеть, - это контроллер модели, который уведомляет о просмотре после изменения в модели, но все равно нужен контроллер модели, чтобы вытащить из SQL Server, я не вижу никакого реального нажатия от SQL Server до веб-приложения. Ваш совет высоко ценится.
Один из подходов заключался бы в создании таблицы журналов в начале процедуры с уникальным именем. Код MVC отображает сетку или другой элемент, отображающий эту таблицу журналов, хранимая процедура просто добавляет строки в таблицу после завершения каждого шага...
Захватите идентификатор сеанса соединения Процедура создает файл LOG_SessID MVC открывает таблицу и использует Meta Refresh или Timer для повторного отображения страницы Каждый повторный просмотр проверяет, существует ли таблица, если нет, предполагается, что процедура завершена и печатает соответствующее сообщение
Одно из возможных решений может заключаться в том, что вы разбиваете свой SP на шаги и вызываете каждый шаг SP и обновляете экран пользователя (даже для отдельных шагов MVC VIEWS/PARTIAL VIEWS для каждого шага успеха и неудачи) на основе результата!
- Вопросы
- Asp.net-mvc
- как передавать данные или сообщение с сервера sql на веб-приложение