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 : 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
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.