Effectuer l'opération d'attente dans l'application Web ASP.NET?
-
12-11-2019 - |
Question
Je voudrais m'accrocher cette Question, cependant, peut-être le reformuler sous un angle différent.
À des fins anti-fraude, je voudrais bloquer les visiteurs après une certaine quantité de tentatives de connexion incorrectes. À ce stade, j'ai une classe Manager qui enveloppe l'appel de fonction réel à la connexion. Le gestionnaire lance une exception si un visiteur est bloqué et donc la méthode de connexion réelle n'est jamais appelée. Jusqu'ici tout va bien.
Je voudrais maintenant changer la pièce de lancer d'exception en un Thread.Sleep
genre de chose. Ce n'est pas une option cependant car cela bloquera d'autres demandes au serveur. Y'a-t-il un facile Alternative pour ce scénario peut-être en utilisant certains async
attendre la commande ou peut-être utiliser F#
?
Code actuel:
class Manager {
void Execute(Action action) {
if(user.IsBlocked)
throw new BlockedException();
else
action();
}
}
Code préféré:
class Manager {
void Execute(Action action) {
if(user.IsBlocked)
//Wait for xxx minutes
action();
}
}
Pas de solution correcte