【问题标题】:Concurrent downloading and uploading brings length error (.Net to FTP).并发下载和上传会带来长度错误(.Net 到 FTP)。
【发布时间】:2011-10-27 01:33:07
【问题描述】:

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

我正在 .NetFramework 上进行开发。

【问题讨论】:

    标签: .net ftp


    【解决方案1】:

    如果您同时编写这两个应用程序,您可以按照自己的意愿进行操作。

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

    您可以随心所欲地进行操作——只需编写您想要的代码。

    【讨论】:

      【解决方案2】:

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

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

      在调用localFile.Close()localFile.Dispose() 之前,术语FileShare.None 将阻止其他任何东西(包括您的软件)打开文件。如果有人在文件关闭之前尝试下载文件,则会引发异常。

      【讨论】:

      • 很郁闷的是,上传应用可以是各种各样的——例如第三方客户端或某人的服务。我只能控制我的下载应用程序。我想让下载应用检查文件的修改日期,可行吗?
      猜你喜欢
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 2017-11-20
      • 2011-10-08
      相关资源
      最近更新 更多