Cache d'un StreamReader ?
Bonjour,
Je developpe une application en Visual Basic à l'aide de Visual Studios Express 2012, utilisant les windows Forms et le framework net 4.5.
Cette application possède un petit fichier .ini placé à sa racine pour récupérer l'adresse de sa base de donnée.
Mais j'ai un souci avec la lecture de ce fichier :
Voila comment la méthode utilisé pour lire ce fichier :
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 25 26 27 28 29 30 31 32 33 34 35 36 37
|
Private Function GetCoord()
Dim inc As Integer = 0
Dim Server As String = ""
Dim templine As String
Dim User As String = ""
Dim Pass As String = ""
Dim Instance As String = ""
Dim fichierTemp As String = My.Application.Info.DirectoryPath & "\config.ini"
If My.Computer.FileSystem.FileExists(fichierTemp) Then
Dim sr As StreamReader = New StreamReader(fichierTemp)
sr.DiscardBufferedData()
Do
templine = sr.ReadLine()
If inc = 1 Then
Server = templine
ElseIf inc = 3 Then
BD = templine
ElseIf inc = 7 Then
User = templine
ElseIf inc = 9 Then
Pass = templine
ElseIf inc = 11 Then
Instance = templine
End If
inc = inc + 1
Loop Until templine Is Nothing
sr.Dispose()
sr.Close()
End If
Return ("Server=" & Server & "\" & Instance & ";Database='" & BD & "';User Id=" & User & ";Password=" & Pass & ";")
End Function |
Le fichier se est lu correctement depuis plusieurs mois. Mais j'ai récemment eu à faire a un probleme pour le moins étrange.
Quand le fichier config.ini est modifié, il arrive sur certaines machine que l'application continu toujours de lire l'ancien fichier configuration.
C'est à dire que le fichier est correctement changé, l'application appel bien le bon chemin du fichier, quand j'ouvre le fichier config il n'y a pas de doute que le fichier est bon, mais l'application s'obstine sur les anciens logs.
Et le comble, c'est que lorsque que je démarre l'application en mode administrateur, le fichier est correctement lu, et lorsque je réessai sans mode administrateur, l'ancien fichier est de nouveau lu.
Existe-t-il une cache pour les streamreader ? J'ai déjà changer de méthode de lecture, pas moyens d'obtenir systématiquement l'acces au nouveau fichier.
Je me retrouve donc coincer avec cette procédure qui donne l'impression de marcher quand elle le souhaite, alors qu'il y a un "truc" !
Merci.