2013-04-16 3 views
0

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

В основном то, что я пытаюсь сделать, это:

  • Часы таблицы для новых записей.
  • Когда новая запись была добавлена, нажмите сообщение всем подключенным пользователям через SignalR.

Является ли Windows Service лучшим решением для этого?

+3

Почему у вас нет триггера в БД, это для вас? –

+0

Могу ли я вызвать контроллер и/или метод в приложении MVC из триггера? – Mithrilhall

ответ

0

Вы можете создать триггер вставки, который записывается в другую таблицу, например NewData или что-то в этом роде. Затем вы можете создать службу (служба Windows будет в порядке), которая периодически проверяет таблицу NewData для записи. После обработки каждой строки в NewData вы можете удалить строку и подождать следующего.

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

+0

Дэн, я наклонялся к окну. Что касается уведомления зарегистрированных пользователей, я собирался попытаться использовать SignalR. – Mithrilhall

+1

SignalR должен работать нормально. – Dan

1

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