跟踪文件夹的活动

时间:2010-06-24 18:17:58

标签: asp.net

我想监视“C:\ Inetpub \ ftproot \ san”中出现的所有文件夹的活动。用户可以处理任何类型的文件,而不仅仅是文本文件。因为我们已经给了1GB空间(比方说)对每个用户而言,用户可以做任何事情来利用这个空间。

现在我想要监控用户将在其文件夹中执行的活动,例如创建新文件,删除现有文件或编辑文件。我想监视用户的活动,因为我必须跟踪给定的空间用户因此我可以限制用户仅使用1GB空间而不是更多。 有没有我可以使用除FileSystemWatcher以外的类,因为它只适用于控制台应用程序而不是web应用程序? 任何帮助都会高度关注.. 非常感谢

4 个答案:

答案 0 :(得分:0)

FileSystemWatcher应该可以在Web应用程序中正常工作,但问题是Web应用程序并不总是打开。如果有人暂时不访问它,可以关闭它来代替其他需要资源的东西,然后在下次访问时再次启动。当它自己的结构中的东西发生变化时(例如它的配置文件),它也可以很容易地重新启动。这是非常无国籍和短暂的。

您打算如何在Web应用程序中使用此信息?您的Web应用程序是否真的需要不断观察,或者它是否只需要在请求时生成文件系统当前状态的报告?如果你真的需要前者,那么Web应用程序在服务器上运行的上述特性将使事情变得有点不可靠。也许在Web服务器上运行的Windows服务更能胜任这项任务?

答案 1 :(得分:0)

首先,我会将其分解为:

  • 用户可以通过哪些方式修改文件夹的内容?
  • 您想通过网络界面完成/呈现给用户的是什么?

在某种程度上简单地(某种意义上)执行此操作的一种方法是在计算机上维护服务,该服务定期监视目录以获取所需信息(大小,文件数量等),并连接(通过某些内容)像WCF)到实际的Web应用程序。实际上,你有一个半软限制,因为在一段时间内用户可以操作超过1GB,但是你可以采取明显的纠正措施,但这样你实际上不必监控每一个动作。每个用户实时。


答案 2 :(得分:0)

关闭袖口我认为您需要某种服务才能使用FileSystemWatcher类。使用asp.net真正监视目录的唯一方法是控制如何从目录中添加和删除所有文件。如果是这种情况,那么您可以添加代码来浏览目录并轻松地在其中添加所有内容的大小。

如果他们可以将文件放在这些文件夹中与其他应用程序(例如FTP客户端),那么您将需要一项服务来监视文件夹。

答案 3 :(得分:0)

更好的方法是让您的WebApp作为正在发生的事情的门户运行,但是您需要运行Windows服务以确保某人不会覆盖空间分配。

该服务还可以帮助您向门户网站提供数据。

请记住,网站仅在有人呼叫时运行。因此,如果您未使用您的网站5天,则不会监控它。

当然,你可以保持一个网页开放X天,但这太过分了。