Méthode Execute mondiale.asax toutes les quelques minutes
Quel est le moyen le plus efficace pour exécuter une méthode dans le monde.asax fichier toutes les x minutes? Est-il possible d'avoir la ASP.NET serveur d'exécuter un thread d'arrière-plan qui déclenche un événement tick après une certaine période écoulée?
OriginalL'auteur carlbenson | 2012-07-06
Vous devez vous connecter pour publier un commentaire.
Vous pourriez avoir un minuteur dans le Application_Start du Mondial.asax, mais ce n'est pas très flexible car vous avez besoin de faire une demande à l'application de la minuterie pour démarrer. Il y a des dangers à le faire de cette façon même si, comme détaillé par Haacked:
Une meilleure façon de le faire est d'avoir un service web qui agit comme une interface pour votre ASP.NET application et un service windows qui appelle votre service web à intervalles réguliers:
Plus de détails ici:
Dans mon cas particulier, je suis d'accord avec nécessitant une demande faite le démarrage de l'application. Votre site web à l'idée d'un service est si grande, et une réponse appropriée pour les cas génériques de ma question. Merci beaucoup!
est de 100% sur place. Vous ne devriez pas être en train de développer, avec la mentalité que vous avez un accès complet aux ressources de l'entreprise ou des ressources du client. Tout doit être portable et extensible, et donc un ASP.net cache solution est vraiment la seule façon d'aller.
OriginalL'auteur skub
vous pouvez utiliser la combinaison de HTTPModule et ASP.NET MINUTERIE pour ce faire
http://technico.qnownow.com/2012/04/06/create-custom-http-module-to-periodically-refresh-cache-or-some-other-work/
(ou)
Vous pouvez utiliser AJAX contrôle Timer .
http://technico.qnownow.com/2012/06/12/refresh-gridview-intervals-using-ajax-timer/
OriginalL'auteur Veera
Mettre un
System.Timers.Timer
objet dansApplication_Start ()
dansGlobal.asax
.http://msdn.microsoft.com/en-us/library/system.timers.timer.aspx
Pas une très bonne idée. Un ASP.Net l'application peut avoir été arrêté (généralement la configuration de serveur web hôte, où l'application est arrêté après une période d'inactivité et n'a commencé à la réception d'une nouvelle demande).
est correcte. Pas une bonne idée. La plupart des services web ont un délai d'attente, vous ne pouvez pas contrôler. Serveurs Web peut se bloquer. Alors quoi!? Vous devrez héberger votre ASP.net page sur un service distant qui donne au moins quelques gaurantees il ne s'arrêtera pas - cloud, etc. Essayez d'éviter d'utiliser le serveur lui-même pour faire le travail. Utiliser le cache!
OriginalL'auteur Shredderroy