Try Vs Response.Redirect("http://www.aspfr.com" )

Résolu
cs_rabbiwan Messages postés 151 Date d'inscription mercredi 18 septembre 2002 Statut Membre Dernière intervention 22 février 2007 - 11 janv. 2005 à 17:14
cs_rabbiwan Messages postés 151 Date d'inscription mercredi 18 septembre 2002 Statut Membre Dernière intervention 22 février 2007 - 12 janv. 2005 à 16:03
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

cs_rabbiwan Messages postés 151 Date d'inscription mercredi 18 septembre 2002 Statut Membre Dernière intervention 22 février 2007
12 janv. 2005 à 16:03
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
3
cs_rabbiwan Messages postés 151 Date d'inscription mercredi 18 septembre 2002 Statut Membre Dernière intervention 22 février 2007
11 janv. 2005 à 17:27
ps : l'erreur qui affiche est :
Le thread a été abandonné.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
11 janv. 2005 à 17:35
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
0
cs_rabbiwan Messages postés 151 Date d'inscription mercredi 18 septembre 2002 Statut Membre Dernière intervention 22 février 2007
11 janv. 2005 à 17:46
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);
}
}
0
Rejoignez-nous