并发下载和上载会导致长度错误(.Net到FTP)。

时间:2011-10-27 01:33:07

标签: .net ftp

我有一个ftp服务器充当公共文件存储库。 A-app可以将文件上传到服务器,B-app可以从服务器下载文件。如果B-app尝试下载A-app上传的文件,则文件长度不正确。 我想在上传完成之前锁定要上传的文件以阻止下载应用程序。有人可以帮帮我吗?

我正在开发.NetFramework。

2 个答案:

答案 0 :(得分:0)

如果您正在编写这两个应用程序,则可以按照自己的方式进行。

您可以让上传应用程序将文件写入暂存区域,并仅将其移动到下载应用程序完成后访问的区域。您可以创建存储在文本文件中的锁定文件的共享表。您可以使用平台的文件锁定。

你可以随心所欲地做到 - 只需编写你想要的代码。

答案 1 :(得分:0)

在您的服务器中,上传文件时,您可以创建文件流:

FileStream localFile = new FileStream(Path, FileMode.Create, FileShare.None)

术语FileShare.None会阻止其他任何内容(包括您的软件)打开文件,直到调用localFile.Close()localFile.Dispose()为止。如果有人在文件关闭之前尝试下载该文件,则会抛出异常。