Bonjour à tous !
Voilà mon souci,
je voudrais serializer l'écriture des erreurs dans un fichier xml.
J'ai donc écrit une classe Error() qui est comme suit:
Et lorsque dans mon applicatio, je récupère une erreur, je fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Security.Permissions; using System.Security.AccessControl; using System.Xml.Serialization; namespace treeview { class Error { private string _path = @"c:\debug_tree.xml"; private FileStream _fs; private StreamWriter _stw; private XmlSerializer _serializer; private string _error; public Error() { _serializer = new XmlSerializer(typeof(String)); } public void Write(Exception e) { _error = DateTime.Now.ToShortDateString() + " : " + DateTime.Now.ToShortTimeString() + " - " + e.Message.Replace('\n', '.'); _fs = new FileStream(_path, FileMode.Append, FileAccess.Write, FileShare.ReadWrite); _stw = new StreamWriter(_fs); _serializer.Serialize(_stw,_error); _stw.Close(); _fs.Close(); _stw.Dispose(); _fs.Dispose(); } } }
où e est une exception.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 new Error().Write(e);
Mais voilà ce que j'obtiens comme résultat:
La chaine
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?xml version="1.0" encoding="utf-8"?> <string>16/11/2006 : 16:30 - L'accès au chemin d'accès 'C:\System Volume Information' est refusé.</string><?xml version="1.0" encoding="utf-8"?> <string>16/11/2006 : 16:30 - L'accès au chemin d'accès 'D:\System Volume Information' est refusé.</string><?xml version="1.0" encoding="utf-8"?> <string>16/11/2006 : 16:30 - Le périphérique n'est pas prêt. .</string><?xml version="1.0" encoding="utf-8"?> <string>16/11/2006 : 16:30 - Le périphérique n'est pas prêt. .</string>
est réécrite à chaque erreur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?xml version="1.0" encoding="utf-8"?>
pourquoi ??
y a visiblement plein de choses que je comprends pas avec ma serialization ...
Comment résoudre ce problème ??
merci beaucoup pour votre aide !!!
Partager