Try Vs Response.Redirect("http://www.aspfr.com" ) [Résolu]

Signaler
Messages postés
151
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
22 février 2007
-
Messages postés
151
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
22 février 2007
-
Bonjour,
J'ai une petite question. Je travais en ASPX et C# et j'ai un problème avec un try.

voila dans ma page au niveau de

private void Page_Load(object sender, System.EventArgs e)

{

try

{
if (!IsPostBack==true)
{
Response.Redirect("[/ http://www.aspfr.com]" )
}
}
catch(Exception ex)

{
Console.WriteLine(ex.Message);
}
}

Et chaque fois sans exception, quand il fait le response.redirect il me fait un exception et me plante.
Savez vous pourquoi?
Merci d'avance.

4 réponses

Messages postés
151
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
22 février 2007

bon alors voila la solution.....j'ai du faire quelques forum américain
alors quand vous mettez le Response.Redirect("~/entreprise/acceuilPro.aspx" );
il faut ajouter false a la fin ce qui donne
Response.Redirect("~/entreprise/acceuilPro.aspx",false );
et voila le blem est résolu.
En fait, le fait de mettre false a la fin permet de finir le thread en cours avant de lancer l'autre en gros. donc il attend la fin du code et apres il balance sa page Voila
Messages postés
151
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
22 février 2007

ps : l'erreur qui affiche est :
Le thread a été abandonné.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
L'erreur est toute bête, quoiqu'assez difficile a expliquer quand meme.



Quand tu fais un response.redirect, ca fait quoi en interne ?

tu charges la page page1 et le response.redirect vers page2

quand tu charges page1 un thread est créer pour son execution, quand tu
fais un response.redirect, le thread1 est abandonné pour charger
thread2.



Ce que tu as fait, c'est que tu as fait un bloc Try Catch, le bloc try
veut coute que coute se terminer, hors toi quand tu rediriges tu
abandonnes le thread1 pour le thread2 donc bien sur ca plante, je suis
meme pas tres sur de bien comprendre comment ca fonctionne en interne
au niveau des threads, mais l'erreur se comprend.



> Je suis pas sur de ce que j'annonce



Pour ce qui est d'une résolution, j'en vois pas, et je suis meme plus tres source que l'erreur vienne d'ici finalement

<!--StartFragment -->
<hr>

Cyril - Webmaster de http://hoshimi.CodeS-SourceS.fr
Messages postés
151
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
22 février 2007

voici le code en plus complet pour cyril

private void connect(Object s, EventArgs e)
{
try
{
if ((txtUsername.Text!= "") && (txtPassword.Text != "" ))
{
if(txtUsername.Text=="P")
{
Response.Redirect("~/interne/acceuil.aspx");
}
else if(txtUsername.Text=="E")
{
Response.Redirect("~/entreprise/acceuilPro.aspx" );
}
else
{
Response.Redirect("~/incorrect.aspx");
}
}
else
{
lblError.Text = "Utilisateur ou mot de passe invalide";
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}