2011-10-27 62 views
0

我有一个ftp服务器作为公共文件存储库。 A-app可以将文件上传到服务器,B-app可以从服务器下载文件。如果B-app尝试下载A-app正在上传的文件,则文件长度将不正确。 我想在上载完成之前锁定上传的文件以阻止下载应用程序。任何人都可以帮助我?并发下载和上传带来长度错误(.Net到FTP)。

我正在开发.NetFramework。

回答

0

如果你正在编写这两个应用程序,你可以用任何你想要的方式来完成。

您可以让上传应用程序将文件写入临时区域,并且只有在文件完成时才将它们移动到下载应用程序访问的区域。您可以创建存储在文本文件中的锁定文件的共享表。您可以使用您的平台的文件锁定。

你可以做到这一点,无论你想 - 只是代码你想要的。

0

在你的服务器上,当一个文件被上传后,您可以创建文件流这样:

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

术语FileShare.None将防止别的,包括你sofware,从打开的文件,直到localFile.Close()或调用localFile.Dispose()。如果有人试图在文件关闭之前下载文件,则会抛出异常。

+0

很郁闷上传应用程序可能是各种各样的 - ThirdParty客户端或某人的服务,例如。我只能控制我的下载应用程序。我想要下载应用程序检查文件的修改日期,是否可行? –