Problème d'accès concurrent à un fichier
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) :
Code:
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 |
Merci par avance.