2009-02-10 5 views
3

J'ai construit une application ASP.NET comme chatroom très simple qui affiche actuellement les utilisateurs en ligne/hors ligne:Comment faire pour exécuter des processus périodiques sur SQL Server 2008

J'ai une table avec une colonne DateTime utilisée comme TimeStamp . Chaque fois qu'un utilisateur provoque une publication ou un événement Get similaire, je mets à jour le TimeStamp. Je veux, sur le serveur, créer un processus périodique de quelque sorte que je peux utiliser pour vérifier combien de temps un utilisateur a été inactif étant donné que je sais la dernière fois qu'ils étaient actifs. Une fois qu'ils ont été jugés inactifs (après quelques minutes disons), je veux définir la valeur d'une autre colonne pour les marquer comme "Hors ligne".

Toutes les suggestions seraient appréciées.

Répondre

1

Bien que la réponse donnée ci-dessus pour l'utilisation de l'Agent SQL Server est une très bonne solution, avez-vous envisagé d'avoir un composant (un composant WCF peut-être) sur le serveur qui fait tout le gestion d'état, au lieu de gérer l'état dans la base de données directement?

+0

Je préférerais vraiment le faire de cette façon. Séparation des préoccupations et tout ... –

1

Nous faisons quelque chose de similaire en ajoutant un simple service Web à l'application Asp.Net, et en l'appelant à un intervalle de temps configurable à partir d'un service Windows fonctionnant sur le même serveur Web. Cela nous permet d'utiliser notre logique métier tout en conservant le tout au même endroit: l'application Web.

Questions connexes