【问题标题】:Where do I put a FileSystemWatcher in my mvc application?我在我的 mvc 应用程序中将 FileSystemWatcher 放在哪里?
【发布时间】:2009-11-03 19:59:56
【问题描述】:

我们有一个 asp.net mvc 应用程序,我们希望将 FileSystemWatcher 与之集成。我已经看到了很多关于如何实现 FileSystemWatcher 的好例子,但我真的不知道将它放在我的应用程序中的什么位置。似乎应该从应用程序开始。有什么想法吗?

【问题讨论】:

    标签: .net model-view-controller filesystemwatcher


    【解决方案1】:

    在您的 Application_Start() 中设置它。最好的例子之一是使用 ConfigureAndWatch() 设置 log4net,internally uses a FileSystemWatcher。示例:

    log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(Server.MapPath("/log4net.config")))
    

    【讨论】:

      【解决方案2】:

      如果您想监视文件系统的更改,最好将 FileSystemWatcher 与 Windows 服务结合使用。 Windows 服务持续运行,而 Web 应用程序中的代码仅在响应 HTTP 请求时执行。

      这个article 可能是一个不错的起点。

      【讨论】:

      • 我不知道为什么这么多人赞成这个,这是完全错误的。 ASP.NET 应用程序可以毫无问题地运行后台线程。他们可以响应 FileSystemWatcher 事件,而无需任何触发代码的请求。
      • @Mauricio:我认为你不能说我的回答是“错误的”。我已经为 OP 的问题提出了一个可行的解决方案。我从来没有说过这是唯一的解决方案,还有其他选择,但是恕我直言,这是最好的方法。
      • “Web 应用程序中的代码仅在响应 HTTP 请求时执行”-> 不正确
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 2016-09-20
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多