Vb.net 即使在调用filestream.close后,文件仍保持锁定状态
在我的应用程序中,我正在将文件从DMS系统下载到我的服务器。一旦文件被下载,在某些环境中,iis会保持文件的锁定,当应用程序尝试重新下载文件并将文件放在同一位置时,会生成一个错误,该文件正被另一个进程使用。代码如下:Vb.net 即使在调用filestream.close后,文件仍保持锁定状态,vb.net,iis,file,locking,Vb.net,Iis,File,Locking,在我的应用程序中,我正在将文件从DMS系统下载到我的服务器。一旦文件被下载,在某些环境中,iis会保持文件的锁定,当应用程序尝试重新下载文件并将文件放在同一位置时,会生成一个错误,该文件正被另一个进程使用。代码如下: Try Directory.CreateDirectory(serverPath.ToString) downloadFilePath = serverPath.ToString & fileName
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
您可能需要验证锁定文件的是您的应用程序。微软的优秀免费工具有一个“查找”菜单选项,您可以在其中键入文件名,并查看哪些进程锁定了文件 编辑:
我刚注意到你把东西塞进了我的房间。请阅读为什么这是一个相对无意义的练习。它被iis锁定,因为当我重新启动iis时,它会释放锁。+1此外,有时许多应用程序会锁定最后一个下载位置(即,它们有一个指向该位置的句柄)以备将来使用。不确定IIS是否也这样做。