[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 167
  • Last Modified:

Get VS2013 to release a text file

In Win7 VS2013 asp.net, I want to use a text file to provide a variable to my web site, so that I can change the variable externally to the site during run time, to cause the site to run different code paths based on the variable.

But I get a "file in use" message when I try to update the text file.

Any suggestions on how to get around this, or to otherwise create the same effect, would be appreciated.

    Public Shared Function GetTestVar1(ByRef varVarName As String) As String
        Dim rtn As String = ""
        Dim rtnVal As String = "not found"
        '-----------------------------------
        Dim p1 As Integer = 0
        Dim p2 As Integer = 0
        Dim l1 As Integer = 0
        Dim varFilePath As String
        varFilePath = "D:\1015_AMPTK_205_BIZ_DEV_TARG\3100_Support\TestVar.txt"
        Dim varWriter As StreamWriter
        Dim wrkFile As FileStream
        Try
            wrkFile = New FileStream(varFilePath, FileMode.Open, FileAccess.Read)
        Catch
            Return "$ERR$ReadTestVarFile$26797541$FilePath =" & varFilePath
            Exit Function
        End Try
        Dim wrkFileReader As StreamReader = New StreamReader(wrkFile)
        Dim n As Integer = 0
        Dim inLine As String
        '----------------------------Read
        While (wrkFileReader.Peek > -1)
            inLine = wrkFileReader.ReadLine
            If InStr(inLine, varVarName) <> 0 Then
                p1 = InStr(inLine, "=")
                If p1 <> 0 Then
                    l1 = Len(inLine)
                    rtnVal = Mid(inLine, p1 + 1, l1 - p1 + 1)
                End If
            End If
        End While
        '--------------------------------
        wrkFileReader = Nothing
        wrkFile = Nothing
        Return rtnVal
    End Function

Open in new window

0
codequest
Asked:
codequest
2 Solutions
 
Miguel OzSoftware EngineerCommented:
Typically it means that other program or your site thread is using this file. to avoid that make sure you do not open the file in  Notepad (or other editor). If it still fails the modify your cod as follows:
1) Replace line 13 with
wrkFile = New FileStream(varFilePath, FileMode.Open, FileAccess.Read, FileShare.Read)

Open in new window

2) Close the stream (insert at line 33 for quick test - but you should do it as a try finally block)
wrkFile.Close()
0
 
David Johnson, CD, MVPOwnerCommented:
you are never closing the file you need to close it if you want to write to it with another application.

End While
        '--------------------------------
        wrkFile.Close()
        wrkFileReader = Nothing
        wrkFile = Nothing

Open in new window

0
 
codequestAuthor Commented:
Thanks!
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now