Как запускать периодические процессы на SQL Server 2008 - PullRequest
3 голосов
/ 10 февраля 2009

Я создал очень простое приложение ASP.NET, похожее на чат, которое отображает текущих онлайн / офлайн пользователей:

У меня есть таблица со столбцом DateTime, который используется как метка времени. Каждый раз, когда пользователь вызывает Postback или подобное событие Get, я обновляю метку времени. Я хочу на сервере создать некоторый периодический процесс, который я могу использовать, чтобы проверить, как долго пользователь был неактивен, учитывая, что я знаю, когда он в последний раз был активным. Как только они будут считаться неактивными (скажем, через несколько минут), я хочу установить значение другого столбца, чтобы пометить их как «Не в сети».

Любые предложения будут оценены.

Ответы [ 3 ]

12 голосов
/ 10 февраля 2009

Вы можете создать задание агента сервера Sql, которое запускается периодически.

http://msdn.microsoft.com/en-us/library/ms187910.aspx

http://msdn.microsoft.com/en-us/library/ms186273.aspx

1 голос
/ 10 февраля 2009

Мы делаем нечто подобное, добавляя простой веб-сервис в приложение Asp.Net и вызывая его через настраиваемый интервал времени из службы Windows, работающей на том же веб-сервере. Это позволяет нам использовать нашу бизнес-логику, сохраняя все это в одном месте - веб-приложение.

1 голос
/ 10 февраля 2009

Хотя приведенный выше ответ об использовании агента SQL Server является очень хорошим решением, рассматривали ли вы наличие компонента (возможно, компонента WCF) на сервере, который выполняет все управление состояниями вместо управления состоянием в базе данных непосредственно

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