Trace dans une appllication Webform et multi-utilisateurs
3 réponses
Christian Montpellier
Bonjour,
Dans une application ASP.NET (Webform) je r=E9alise des=20
trace dans un fichier texte :
J'initialise cela dans Application_Start de Global.asx :
Trace.Listeners.Add(new TextWriterTraceListener
(File.AppendText(filename)));
Ensuite a l'int=E9rieur de ma webform il y a des :
Trace.WriteLine("Info a tracer");
Que va-t-il se passer si plusieurs utilisateurs ex=E9cute=20
ma webform en m=EAme temps ?
N'y a t-il pas un risque de blocage ? D'exception ? de=20
plantage ? parce que plusieurs objets Webform vont=20
essayer d'=E9crire simultan=E9ment dans mon fichier de log ?
Ou bien au contraire est-ce que cela est bien g=E9r=E9=20
automatiquement ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zazar
Bonjour,
Dans une application ASP.NET (Webform) je réalise des trace dans un fichier texte :
J'initialise cela dans Application_Start de Global.asx : Trace.Listeners.Add(new TextWriterTraceListener (File.AppendText(filename)));
Ensuite a l'intérieur de ma webform il y a des : Trace.WriteLine("Info a tracer");
Que va-t-il se passer si plusieurs utilisateurs exécute ma webform en même temps ? N'y a t-il pas un risque de blocage ? D'exception ? de plantage ? parce que plusieurs objets Webform vont essayer d'écrire simultanément dans mon fichier de log ? Ou bien au contraire est-ce que cela est bien géré automatiquement ?
Il n'y a pas de problème particulier, la synchronisation est gérée. NB : Ca ne marche que parce que vous ne créez qu'un seul TextWriterTraceListener pour toute l'application : si vous en crééiez un à chaque requête vous auriez des problèmes. NB2 : Dans le fichier, si 2 utilisateurs accédent à votre WebForm simultanément, les traces de chacune des requêtes seront mélangées : Par exemple, si vous avez Trace.WriteLine("Info1"); à un endroit et Trace.WriteLine("Info2"); à un autre, le fichier peut contenir : Info1 Info2 Info1 Info2
mais aussi Info1 Info1 Info2 Info2
NB3 : n'oubliez pas de fermer le fichier sur application_end
-- Zazar
Bonjour,
Dans une application ASP.NET (Webform) je réalise des
trace dans un fichier texte :
J'initialise cela dans Application_Start de Global.asx :
Trace.Listeners.Add(new TextWriterTraceListener
(File.AppendText(filename)));
Ensuite a l'intérieur de ma webform il y a des :
Trace.WriteLine("Info a tracer");
Que va-t-il se passer si plusieurs utilisateurs exécute
ma webform en même temps ?
N'y a t-il pas un risque de blocage ? D'exception ? de
plantage ? parce que plusieurs objets Webform vont
essayer d'écrire simultanément dans mon fichier de log ?
Ou bien au contraire est-ce que cela est bien géré
automatiquement ?
Il n'y a pas de problème particulier, la synchronisation est gérée.
NB : Ca ne marche que parce que vous ne créez qu'un seul
TextWriterTraceListener pour toute l'application : si vous en crééiez un à
chaque requête vous auriez des problèmes.
NB2 : Dans le fichier, si 2 utilisateurs accédent à votre WebForm
simultanément, les traces de chacune des requêtes seront mélangées :
Par exemple, si vous avez Trace.WriteLine("Info1"); à un endroit et
Trace.WriteLine("Info2"); à un autre, le fichier peut contenir :
Info1
Info2
Info1
Info2
mais aussi
Info1
Info1
Info2
Info2
NB3 : n'oubliez pas de fermer le fichier sur application_end
Dans une application ASP.NET (Webform) je réalise des trace dans un fichier texte :
J'initialise cela dans Application_Start de Global.asx : Trace.Listeners.Add(new TextWriterTraceListener (File.AppendText(filename)));
Ensuite a l'intérieur de ma webform il y a des : Trace.WriteLine("Info a tracer");
Que va-t-il se passer si plusieurs utilisateurs exécute ma webform en même temps ? N'y a t-il pas un risque de blocage ? D'exception ? de plantage ? parce que plusieurs objets Webform vont essayer d'écrire simultanément dans mon fichier de log ? Ou bien au contraire est-ce que cela est bien géré automatiquement ?
Il n'y a pas de problème particulier, la synchronisation est gérée. NB : Ca ne marche que parce que vous ne créez qu'un seul TextWriterTraceListener pour toute l'application : si vous en crééiez un à chaque requête vous auriez des problèmes. NB2 : Dans le fichier, si 2 utilisateurs accédent à votre WebForm simultanément, les traces de chacune des requêtes seront mélangées : Par exemple, si vous avez Trace.WriteLine("Info1"); à un endroit et Trace.WriteLine("Info2"); à un autre, le fichier peut contenir : Info1 Info2 Info1 Info2
mais aussi Info1 Info1 Info2 Info2
NB3 : n'oubliez pas de fermer le fichier sur application_end
-- Zazar
Christian Montpellier
Merci Zazar pour cette réponse qui me rassure quant à la montée en charge de mon application. J'avais oublié la fermeture du fichier sur l'évènement Application_end, je vais le rajouter.
"Zazar" a écrit dans le message de news: %
Bonjour,
Dans une application ASP.NET (Webform) je réalise des trace dans un fichier texte :
J'initialise cela dans Application_Start de Global.asx : Trace.Listeners.Add(new TextWriterTraceListener (File.AppendText(filename)));
Ensuite a l'intérieur de ma webform il y a des : Trace.WriteLine("Info a tracer");
Que va-t-il se passer si plusieurs utilisateurs exécute ma webform en même temps ? N'y a t-il pas un risque de blocage ? D'exception ? de plantage ? parce que plusieurs objets Webform vont essayer d'écrire simultanément dans mon fichier de log ? Ou bien au contraire est-ce que cela est bien géré automatiquement ?
Il n'y a pas de problème particulier, la synchronisation est gérée. NB : Ca ne marche que parce que vous ne créez qu'un seul TextWriterTraceListener pour toute l'application : si vous en crééiez un à chaque requête vous auriez des problèmes. NB2 : Dans le fichier, si 2 utilisateurs accédent à votre WebForm simultanément, les traces de chacune des requêtes seront mélangées : Par exemple, si vous avez Trace.WriteLine("Info1"); à un endroit et Trace.WriteLine("Info2"); à un autre, le fichier peut contenir : Info1 Info2 Info1 Info2
mais aussi Info1 Info1 Info2 Info2
NB3 : n'oubliez pas de fermer le fichier sur application_end
-- Zazar
Merci Zazar pour cette réponse qui me rassure quant à la montée en charge de
mon application.
J'avais oublié la fermeture du fichier sur l'évènement Application_end, je
vais le rajouter.
"Zazar" <DILAVNI.nicolas.prats@iie.cnam.fr.INVALID> a écrit dans le message
de news: %23xdj41unEHA.2388@TK2MSFTNGP10.phx.gbl...
Bonjour,
Dans une application ASP.NET (Webform) je réalise des
trace dans un fichier texte :
J'initialise cela dans Application_Start de Global.asx :
Trace.Listeners.Add(new TextWriterTraceListener
(File.AppendText(filename)));
Ensuite a l'intérieur de ma webform il y a des :
Trace.WriteLine("Info a tracer");
Que va-t-il se passer si plusieurs utilisateurs exécute
ma webform en même temps ?
N'y a t-il pas un risque de blocage ? D'exception ? de
plantage ? parce que plusieurs objets Webform vont
essayer d'écrire simultanément dans mon fichier de log ?
Ou bien au contraire est-ce que cela est bien géré
automatiquement ?
Il n'y a pas de problème particulier, la synchronisation est gérée.
NB : Ca ne marche que parce que vous ne créez qu'un seul
TextWriterTraceListener pour toute l'application : si vous en crééiez un à
chaque requête vous auriez des problèmes.
NB2 : Dans le fichier, si 2 utilisateurs accédent à votre WebForm
simultanément, les traces de chacune des requêtes seront mélangées :
Par exemple, si vous avez Trace.WriteLine("Info1"); à un endroit et
Trace.WriteLine("Info2"); à un autre, le fichier peut contenir :
Info1
Info2
Info1
Info2
mais aussi
Info1
Info1
Info2
Info2
NB3 : n'oubliez pas de fermer le fichier sur application_end
Merci Zazar pour cette réponse qui me rassure quant à la montée en charge de mon application. J'avais oublié la fermeture du fichier sur l'évènement Application_end, je vais le rajouter.
"Zazar" a écrit dans le message de news: %
Bonjour,
Dans une application ASP.NET (Webform) je réalise des trace dans un fichier texte :
J'initialise cela dans Application_Start de Global.asx : Trace.Listeners.Add(new TextWriterTraceListener (File.AppendText(filename)));
Ensuite a l'intérieur de ma webform il y a des : Trace.WriteLine("Info a tracer");
Que va-t-il se passer si plusieurs utilisateurs exécute ma webform en même temps ? N'y a t-il pas un risque de blocage ? D'exception ? de plantage ? parce que plusieurs objets Webform vont essayer d'écrire simultanément dans mon fichier de log ? Ou bien au contraire est-ce que cela est bien géré automatiquement ?
Il n'y a pas de problème particulier, la synchronisation est gérée. NB : Ca ne marche que parce que vous ne créez qu'un seul TextWriterTraceListener pour toute l'application : si vous en crééiez un à chaque requête vous auriez des problèmes. NB2 : Dans le fichier, si 2 utilisateurs accédent à votre WebForm simultanément, les traces de chacune des requêtes seront mélangées : Par exemple, si vous avez Trace.WriteLine("Info1"); à un endroit et Trace.WriteLine("Info2"); à un autre, le fichier peut contenir : Info1 Info2 Info1 Info2
mais aussi Info1 Info1 Info2 Info2
NB3 : n'oubliez pas de fermer le fichier sur application_end
-- Zazar
Christian
J'ai ajouté à mon application une classe dont le but est de Logguer des évènements applicatifs. Ma classe "Logs" contient une unique méthode statique : static void EcritLogs(string mess) { TextWriter log; log=new TextWriter(File.AppendText("fich.log")); log.WriteLine(mes); log.Flush(); log.Close(); }
Logs.EcritsLogs() est invoqué dans le codebehind de ma WebForm.
Je me pose les mêmes questions qu'avant : Que va-t-il se passer si plusieurs utilisateurs exécute ma webform en même temps ? N'y a t-il pas un risque de blocage ? D'exception ? de plantage ? parce que plusieurs objets Webform vont essayer d'écrire simultanément dans mon fichier de log ? Ou bien au contraire est-ce que cela est bien géré automatiquement ?
Merci de votre aide,
Christian
-----Message d'origine----- Bonjour,
Dans une application ASP.NET (Webform) je réalise des trace dans un fichier texte :
Ensuite a l'intérieur de ma webform il y a des : Trace.WriteLine("Info a tracer");
Que va-t-il se passer si plusieurs utilisateurs exécute ma webform en même temps ? N'y a t-il pas un risque de blocage ? D'exception ? de plantage ? parce que plusieurs objets Webform vont essayer d'écrire simultanément dans mon fichier de
log ?
Ou bien au contraire est-ce que cela est bien géré automatiquement ?
Il n'y a pas de problème particulier, la synchronisation
est gérée.
NB : Ca ne marche que parce que vous ne créez qu'un seul TextWriterTraceListener pour toute l'application : si
vous en crééiez un à
chaque requête vous auriez des problèmes. NB2 : Dans le fichier, si 2 utilisateurs accédent à
votre WebForm
simultanément, les traces de chacune des requêtes seront
mélangées :
Par exemple, si vous avez Trace.WriteLine("Info1"); à un
endroit et
Trace.WriteLine("Info2"); à un autre, le fichier peut
contenir :
Info1 Info2 Info1 Info2
mais aussi Info1 Info1 Info2 Info2
NB3 : n'oubliez pas de fermer le fichier sur
application_end
-- Zazar
.
J'ai ajouté à mon application une classe dont le but est
de Logguer des évènements applicatifs.
Ma classe "Logs" contient une unique méthode statique :
static void EcritLogs(string mess)
{
TextWriter log;
log=new TextWriter(File.AppendText("fich.log"));
log.WriteLine(mes);
log.Flush();
log.Close();
}
Logs.EcritsLogs() est invoqué dans le codebehind de ma
WebForm.
Je me pose les mêmes questions qu'avant :
Que va-t-il se passer si plusieurs utilisateurs exécute
ma webform en même temps ?
N'y a t-il pas un risque de blocage ? D'exception ? de
plantage ? parce que plusieurs objets Webform vont
essayer d'écrire simultanément dans mon fichier de log ?
Ou bien au contraire est-ce que cela est bien géré
automatiquement ?
Merci de votre aide,
Christian
-----Message d'origine-----
Bonjour,
Dans une application ASP.NET (Webform) je réalise des
trace dans un fichier texte :
Ensuite a l'intérieur de ma webform il y a des :
Trace.WriteLine("Info a tracer");
Que va-t-il se passer si plusieurs utilisateurs exécute
ma webform en même temps ?
N'y a t-il pas un risque de blocage ? D'exception ? de
plantage ? parce que plusieurs objets Webform vont
essayer d'écrire simultanément dans mon fichier de
log ?
Ou bien au contraire est-ce que cela est bien géré
automatiquement ?
Il n'y a pas de problème particulier, la synchronisation
est gérée.
NB : Ca ne marche que parce que vous ne créez qu'un seul
TextWriterTraceListener pour toute l'application : si
vous en crééiez un à
chaque requête vous auriez des problèmes.
NB2 : Dans le fichier, si 2 utilisateurs accédent à
votre WebForm
simultanément, les traces de chacune des requêtes seront
mélangées :
Par exemple, si vous avez Trace.WriteLine("Info1"); à un
endroit et
Trace.WriteLine("Info2"); à un autre, le fichier peut
J'ai ajouté à mon application une classe dont le but est de Logguer des évènements applicatifs. Ma classe "Logs" contient une unique méthode statique : static void EcritLogs(string mess) { TextWriter log; log=new TextWriter(File.AppendText("fich.log")); log.WriteLine(mes); log.Flush(); log.Close(); }
Logs.EcritsLogs() est invoqué dans le codebehind de ma WebForm.
Je me pose les mêmes questions qu'avant : Que va-t-il se passer si plusieurs utilisateurs exécute ma webform en même temps ? N'y a t-il pas un risque de blocage ? D'exception ? de plantage ? parce que plusieurs objets Webform vont essayer d'écrire simultanément dans mon fichier de log ? Ou bien au contraire est-ce que cela est bien géré automatiquement ?
Merci de votre aide,
Christian
-----Message d'origine----- Bonjour,
Dans une application ASP.NET (Webform) je réalise des trace dans un fichier texte :
Ensuite a l'intérieur de ma webform il y a des : Trace.WriteLine("Info a tracer");
Que va-t-il se passer si plusieurs utilisateurs exécute ma webform en même temps ? N'y a t-il pas un risque de blocage ? D'exception ? de plantage ? parce que plusieurs objets Webform vont essayer d'écrire simultanément dans mon fichier de
log ?
Ou bien au contraire est-ce que cela est bien géré automatiquement ?
Il n'y a pas de problème particulier, la synchronisation
est gérée.
NB : Ca ne marche que parce que vous ne créez qu'un seul TextWriterTraceListener pour toute l'application : si
vous en crééiez un à
chaque requête vous auriez des problèmes. NB2 : Dans le fichier, si 2 utilisateurs accédent à
votre WebForm
simultanément, les traces de chacune des requêtes seront
mélangées :
Par exemple, si vous avez Trace.WriteLine("Info1"); à un
endroit et
Trace.WriteLine("Info2"); à un autre, le fichier peut