在我的应用程序中,我将文件从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
答案 0 :(得分:1)
您可能想要验证是您的应用程序是否锁定了该文件。 Microsoft提供的优秀免费Process Explorer工具具有“查找”菜单选项,您可以在其中键入文件名,并查看哪些进程锁定了该文件。
修改强>
我刚注意到你填充了ThreadAbortException。请阅读Joe Duffy's book,了解为什么这是一个相对毫无意义的练习。