как отправить данные или сообщение с сервера SQL в веб-приложение - PullRequest
0 голосов
/ 18 января 2012

Я занимаюсь разработкой 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).

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

Теперь вопрос в следующем: как я могу отправить эти пошаговые сообщения из SQL Server в веб-приложение, чтобы в веб-браузере пользователь мог видеть, как каждое пошаговое сообщение печатается в режиме реального времениfashion?

Я ищу много информации, лучшее, что я вижу, это то, что контроллер модели уведомляет представление, когда есть изменение в модели, но все еще нужен контроллер модели, чтобы вытащить из SQL Server, я не вижу никакого реального толчка отSQL Server для веб-приложения.Ваш совет высоко ценится.

Ответы [ 2 ]

0 голосов
/ 14 марта 2012

Одним из возможных решений может быть то, что вы разбиваете свой SP на шаги и вызываете SP каждого шага и обновляете экран пользователя (даже имеете отдельные MVC VIEWS / PARTIAL VIEWS для успеха и неудачи каждого шага) на основе результата!

0 голосов
/ 18 января 2012

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

  1. Получение идентификатора сеанса соединения
  2. Процедура создает файл с именем LOG_SessID
  3. MVC открывает таблицу и использует мета-обновление или таймер для повторного отображения страницы
  4. Каждое повторное отображение проверяет, является ли таблицасуществует, если нет, он предполагает, что процедура выполнена, и печатает соответствующее сообщение
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...