Des choses pas possible de faire dans le Session_End du Global.asax ? [Résolu]

Signaler
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010
-
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010
-
Bonjour,

J'essaie de supprimer une ligne dans un fichier texte lors de la fermeture de session. et il va directement dans Application_Error quand je commence a vouloir lire le fichier.

Il passe bien le if(Session["login"] mais dès qu'il arrive a List... il se met en erreur.

Il y a des choses qu'on ne peu pas faire ? Mon code fonctionne dans une page .aspx normal donc sommes nous restreint ?

Merci.

CODE :

if (Session[
"login"] !=
null)
{

List<
String> lines =
File.ReadAllLines(
"txtchatpresent.txt").ToList();

5 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Bonjour,

As tu lu le message d'erreur ? via Server.GetLastError() ?

Ce message t'indiqueras surement que le path est incorrect, en effet tu spécifie seulement le nom du fichier, .net va donc chercher le fichier dans Directory.GetCurrentDirectory() ce qui n'est pas l'idéal, essaye de mettre le path complet de ton fichier. De plus si tu manipule un fichier en ASP.net, n'oublie pas de gérer la synchro des threads.

<hr />Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

Bonjour,

Merci, c'étais bien ça :).
Pour la synchro de thread, je vais me renseigner.

Merci.
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

J'ajouterais l'utilisation de HttpRuntime.AppDomainAppPath+
"votre fichier"au lieu deServer.MapPath("") qui ne fonctionne pas dans le global.asax pour avoir le chemin de l'application.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
27
Utilise Path.Combine, plutot que de la simple concatenation de String ...

<hr />Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant
Messages postés
361
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
1 octobre 2010

Oki je modifie  Path.Combine(
HttpRuntime.AppDomainAppPath,
"votrefichier") 
    
Merci a toi.