【问题标题】:How to know a file has been ftp'd in IIS? [duplicate]如何知道一个文件已经在 IIS 中被 ftp'​​d 了? [复制]
【发布时间】:2015-09-21 21:37:02
【问题描述】:

我们正在为我们的 ftp 服务器使用 IIS,我想编写一个 c# windows 服务或一个 HTTP 处理程序/模块,它会知道一个文件已被 ftp'​​d 到一个文件夹,这样我就可以移动它们它到另一个文件夹以及更新数据库。

我担心的是,如果我不知道文件是否已完成 FTP (ing) 到某个文件夹,那么如果我尝试对它执行某些操作,我会收到文件访问错误。

【问题讨论】:

    标签: c# iis ftp httphandler


    【解决方案1】:

    这个问题已经回答了 Does IIS FTP include an API to detect when a file upload completes?

    基本上您可以使用自定义日志记录提供程序。

    【讨论】:

    • 谢谢,这将完美运行。
    • 这应该被标记为骗子。
    【解决方案2】:

    您可以在文件夹上创建FileSystemWatcher,以监视文件创建事件。

    但是,正如您所指出的,您必须担心文件正在传输中。为了解决这个问题,您可以使用 FileSystemWatcher 将文件名排队到监视/等待文件关闭的处理器。您可以通过以下方式检查文件是否已关闭:Is there a way to check if a file is in use?。

    有一些较低级别的方法,但这会让您入门。 FileSystemWatcher 有问题 - 它很容易过载 - 所以如果这是一个“忙碌”的文件夹,您可以实现自己的轮询和比较,而不是依赖它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-18
      • 2010-10-08
      • 2014-03-12
      • 1970-01-01
      • 1970-01-01
      • 2012-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多