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 :
Le fichier se est lu correctement depuis plusieurs mois. Mais j'ai récemment eu à faire a un probleme pour le moins étrange.
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 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
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.
Partager