从asp.net中的txt文件读取时正在使用的文件

从asp.net中的txt文件读取时正在使用的文件,asp.net,vb.net,Asp.net,Vb.net,当新用户在我的网站上创建帐户时,我会使用io.file为他创建一些空文本文件。供他将来使用。创建帐户后,用户即登录。在他的主页上,我试图阅读页面加载事件中的文本。但它总是给出文件正在使用的错误信息。当我关闭浏览器,然后尝试从该文件中读取文本时。它读起来没有任何问题。你读过这本书了吗 此方法创建的FileStream对象的默认FileShare值为None;在关闭原始文件句柄之前,任何其他进程或代码都无法访问创建的文件 因此,请将其包装在using块中。每次打开文件时,必须确保将其关闭 D

当新用户在我的网站上创建帐户时,我会使用io.file为他创建一些空文本文件。供他将来使用。创建帐户后,用户即登录。在他的主页上,我试图阅读页面加载事件中的文本。但它总是给出文件正在使用的错误信息。当我关闭浏览器,然后尝试从该文件中读取文本时。它读起来没有任何问题。

你读过这本书了吗

此方法创建的FileStream对象的默认FileShare值为None;在关闭原始文件句柄之前,任何其他进程或代码都无法访问创建的文件


因此,请将其包装在using块中。

每次打开文件时,必须确保将其关闭

    Dim file As IO.FileStream

    file = IO.File.OpenWrite("filename")

    ' ...

    file.Close()
或者使用

    Using file As IO.FileStream = IO.File.OpenWrite("filename")
        ' ...
    End Using
还有一些函数可以立即打开和关闭文件

    IO.File.WriteAllText("filename", "content")

您是否在创建文件后关闭了该文件?问题或任何具体细节在哪里?发布事件序列-您何时创建该文件,何时再次尝试读取该文件。正如丹所说,你确定在使用后尽快关闭它吗?如果两个单独的页面和两个请求试图同时访问该文件,会发生什么情况?如何关闭该文件?创建之后
    IO.File.WriteAllText("filename", "content")