2010-07-15 4 views
1

J'ai un try-catch dans une méthode qui est appelée de manière asynchrone. Lorsqu'une erreur survient, à l'intérieur de la capture, j'ai un Response.Redirect car j'ai besoin de pour rediriger vers la page de connexion.Comment faire Response.Redirect à l'intérieur d'une méthode d'appel asynchrone - C#

This est mon problème.

Mais mon problème ne concerne pas les éléments qui expirent, donc l'idée d'un temporisateur n'est pas la meilleure façon de le résoudre.

Répondre

1

La méthode que vous appelez dans votre rappel est en dehors du contexte d'une demande de page complète. Ce que vous devez faire est de retourner dans la réponse une valeur qui invite le navigateur à effectuer une redirection du côté client. Cela pourrait être aussi simple qu'un appel javascript window.location à login.aspx. Le gestionnaire de rappel du côté client aura besoin de logique pour le reconnaître et pour évaluer le javascript (qui l'exécutera essentiellement).

Une alternative serait de renvoyer un en-tête d'erreur au navigateur et dans le gestionnaire d'erreurs mis en place dans l'appel ajax, effectuez l'appel window.location ='login.aspx';.

+0

Daniel, tu as raison. Tks –

+0

Pas de problème. Pourriez-vous marquer cela comme la bonne réponse s'il vous plaît? –

Questions connexes