2014-11-11 4 views
0

Извините, если это основной вопрос, но я новичок в опросе базы данныхПрослушивание событий из окна службы

Я создаю проект ASP.net, в котором мы должны постоянно контролирует базу данных таблицы (MySQL) и всякий раз, когда любая строка добавляется в эту таблицу, мы отображаем ее в пользовательском интерфейсе. Теперь я создал службу Windows, которая контролирует эту таблицу БД, и она генерирует событие при изменении таблицы. Теперь как можно получить это уведомление в моем проекте ASP.net из моей службы Windows, чтобы я мог отображать в пользовательском интерфейсе?

+0

Поскольку проекты ASP.NET выполняются только на веб-сервере при создании содержимого HTML для браузера клиента, вам нужно будет реализовать что-то на стороне клиента (например, JavaScript, который постоянно использует HTTP-запрос для запроса WebMethod [AJAX] или UpdatePanel). Вы также можете периодически обновлять свою страницу, но это довольно устаревший способ сделать это. –

+0

websockets облегчит обновление веб-страницы в режиме реального времени. – DaveDev

+0

@DaveDev Да, вот что я имел в виду. –

ответ

0

Я бы избавился от службы Windows и осуществил опрос на самом веб-сайте ASP.NET. Вы сказали, что хотите показывать новые записи в интерфейсе веб-сайта, поэтому нет никакой причины для службы, которая только вводит ненужный уровень связи. Вам нужно, чтобы ваш сайт постоянно работал в любом случае, чтобы делать то, что вы хотите, поэтому вам не нужны эти преимущества в службах Windows, которые обычно используются для поддержания работы.

Просто убедитесь, что ваш веб-сайт ASP.NET постоянно работает (startMode = AlwaysRunning) и не имеет простоя ожидания (processModel.idleTimeout = TimeSpan.Zero). Я бы использовал SignalR для push-уведомлений, поэтому всякий раз, когда вы находите новую строку, вы можете отправить сообщение клиентам, и они могут немедленно отреагировать на это.

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