即使在调用filestream.close之后,文件仍保持锁定状态

时间:2010-02-10 04:29:29

标签: vb.net iis file locking

在我的应用程序中,我将文件从DMS系统下载到我的服务器。下载文件后,在某些环境中,iis会保持文件锁定,当应用程序尝试重新下载文件并将文件放在同一位置时,会生成一个错误,该文件正由另一个进程使用。以下是代码:

    Try
            Directory.CreateDirectory(serverPath.ToString)

            downloadFilePath = serverPath.ToString & fileName
            fileDownloaded = estimateFacade.DownloadFiles(dmsLinkID, downloadFilePath)


    Catch threadex As System.Threading.ThreadAbortException

    Catch ex As System.Exception
        lblDownloadingcomment.Text = ex.Message
        trButtons.Visible = True
        btnDownload.Visible = False
        'Throw ex
    Finally
        If Not fileDownloaded Is Nothing Then
            fileDownloaded.Close()
        End If
    End Try

1 个答案:

答案 0 :(得分:1)

您可能想要验证是您的应用程序是否锁定了该文件。 Microsoft提供的优秀免费Process Explorer工具具有“查找”菜单选项,您可以在其中键入文件名,并查看哪些进程锁定了该文件。

修改

我刚注意到你填充了ThreadAbortException。请阅读Joe Duffy's book,了解为什么这是一个相对毫无意义的练习。