【发布时间】:2011-10-10 19:28:39
【问题描述】:
我们正在使用树视图来显示我们的 Web 应用程序中 C:\ 驱动器中的所有文件和目录。现在我们需要目录/文件列表在树中的任何文件更改时智能刷新。我们如何在 Web 应用程序中实现这一点?
【问题讨论】:
我们正在使用树视图来显示我们的 Web 应用程序中 C:\ 驱动器中的所有文件和目录。现在我们需要目录/文件列表在树中的任何文件更改时智能刷新。我们如何在 Web 应用程序中实现这一点?
【问题讨论】:
当文件或文件夹被修改时,使用FileSystemWatcher 可以很容易地在 Windows 应用中接收通知。您需要创建一个 Windows 服务来运行它。
问题是网络没有提供直接的方法来将这个基于服务器的事件传递给你的网络客户端(除了像Comet 这样的黑客攻击)。相反,Web 客户端通常会轮询更新。您可以使用 AJAX 在浏览器中悄悄刷新您的文件列表,由一些周期性触发事件的 javascript 触发(使用 javascript setInterval() 函数)。
【讨论】:
这个有点棘手。首先,您将要实现长轮询或 Push 现在流行的称呼。其他方式是轮询,但轮询很糟糕。 .Net 有一个很好的异步信令框架,称为SignalR
其次,您想使用FileSystemWatcher 来监控您的文件夹。
享受:)
【讨论】: