Une vérification automatique en ASP.NET !!
-
samedi 28 avril 2012 14:14
Bonjour tout le monde,
J'ai trouvé des difficultés à implémenter une idée dans mon projet web avec ASP.NET
En effet, c'est une application de réservation des livres, les livres sont stockés dans une table de la base de données (sql server), une fois le client réserve un livre en ligne, la quantité en stock diminue avec X livres (X est le nombre de livres réservés), l'application attend 24h pour que le client règle son achat en ligne, si il ne le fait pas, alors la réservation est annulée ainsi la quantité en stock monte de X unités...
Ce que je cherche ce n'est pas une application, non, mais juste quoi utiliser pour la vérification d'achat, car la réservation est annulée si le client n'a pas réglé son achat pendant 24h, mais cela doit être fait AUTOMATIQUEMENT !!!
La question que je pose, est-ce qu'il existe un outil en ASP.NET ou C# permet de faire cette vérification AUTOMATIQUE avec une durée X bien déterminée (X=24h dans cette exemple).
Merci d'avance
Bilal
Toutes les réponses
-
lundi 30 avril 2012 06:43Modérateur
Bonjour,
Pour ce genre de besoin, il existe les "Windows Workflow Foundation" du .NET Framework.
Vous instanciez un workflow à la commande de votre client. Dans ce workflow, vous ajouter une activité "Pick" à deux branches. Dans la première, vous attendez le réglement du Client et vous validez la commande dès réception du régelement. Dans la deuxième branche vous mettez un Timer de 24h et vous annulez la commande si ce Timer est déclenché.L'autre solution est de faire un programme (procédure stockée, application C#,...etc) qui se lance tous les 24 heures et qui vérifier les commandes clients et les annules si nécessaires.
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0- Marqué comme réponse BEN SBAIH Bilal mardi 1 mai 2012 14:42
-
mardi 1 mai 2012 14:42
Bonjour Gilles,
En fait, j'ai crée un thread dans le fichier Global.asax qui s'exécute dans chaque 24h qui vérifie dans la base de données les commandes ainsi je peux annuler la commande si le client n'a pas payé dans 24h
Merci pour votre réponse
Bilal
-
mardi 1 mai 2012 17:28Modérateur
Bonjour,
Attention, cette méthode ne fonctionnera que si votre application est continuellement chargée en mémoire.
En effet, ASP .NET décharge le site web (=arrête l'application web) lorsque le dernier visiteur n'a pas donné signe de vie au bout de 20 min (cela signifie qu'il n'y a plus de visiteurs sur votre site web).Si votre application est arrêté, votre Thread n'est plus en cours d'exécution.
Je vous conseille donc d'exécuter cette tâche dans un Service Windows ou une application Console (à l'aide d'une tâche planifiée).
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0- Marqué comme réponse BEN SBAIH Bilal mercredi 2 mai 2012 09:11
-
mercredi 2 mai 2012 09:11
Ah bon, je ne savais pas que l'application est arrêtée si le dernier visiteur ne l'a pas visité au bout de 20min, donc je dois changer le cap :D
Je vais voir l'idée du Workflow si je peux l'implémenter, car je ne l'ai jamais utilisé et dans ça sera une occasion, sinon en tous cas j'utiliserai une application Console qui s'exécute à l'aide d'une tâche planifiée.
Merci beaucoup Gilles, c'était gentil de votre part, merci pour les infos utiles ^^
Bilal

