Salut,
J'ai une application qui utilise la réentrance, et je gère l'écriture d'un fichier dans celle-ci.
Je veux éviter les problèmes d'accès concurrent pour ce fichier, et bloquer l'écriture pour 1 seul fichier.
Pour cela, j'utilise la méthode monitor.enter, mais elle ne semble pas fonctionner. Est-ce que je suis dans la bonne voie ? Ou comment faire ?
Voici mon code (il s'agit d'une fonction) :
Merci par avance.
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 Dim fs As New FileStream(FileName, FileMode.Append, FileAccess.Write) Dim fw As New StreamWriter(fs) Try 'On protège l'écriture contre la ré-entrance Monitor.Enter (fs) fw.WriteLine(Ticket) fw.Flush() fw.Close() fs = Nothing Catch ex As Exception Trace.Warn(ex.Message) Finally Monitor.Exit(fs) fs = Nothing End Try
Partager