2012-03-05 35 views
0

我有一个文件可以在Intranet上的多个不同位置进行编辑,但需要在一台特定机器上保持最新。使用Windows 2008R2 Task Sheduler来跟踪对选定文件的更改

事情的工作方式就是这样。

我们有一个本地Intranet,用于在该网站的内部网上复制该文件并对其进行更改。如果一切看起来都很好,那么文件可能会被上传到远程服务器,覆盖以前的版本。我知道,这并不理想,但那就是它的方式。

我想要做的是跟踪对该文件的远程版本的任何更改,以便我可以在本地计算机上反映出这一更改。

到目前为止,我的想法是使用远程服务器上的任务计划程序在发生更改时向我发送电子邮件。改变不会经常发生,但是当他们这样做时,我需要了解它。

我的问题是,我不确定要在任务管理器中查找哪些事件。就目前而言,这个文件可以通过某个人进入服务器并改变它,或者通过某人以这种方式进行远程访问和上传来改变。正如我所说,这并不理想,但它与我一起工作。

为了保持特定的内容,我期待在这里使用任务计划程序,关闭触发器。从那里,我有点失落。

回答

0

事实证明,通过创建FileSystemWatcher并在应用程序启动时启动它,我发现了一个更好/更有用/“足够好”的解决方案。 多数民众赞成在“足够好”进来,因为它不会捕捉任何变化,如果应用程序由于某种原因停止。但是,由于我是唯一可能停止应用程序的人,如果涉及到这一点,事情将比破碎的FileSystemWatcher更严重。

具体来说,我创建了一个名为“Utilities”的类,并在那里创建了FileSystemWatcher。

然后在Global.asax.cs的Application_Start()方法中,我初始化FileSystemWatcher并设置它。

如果发生更改,则观察者的事件处理程序将设置为向我发送电子邮件,并附加新文件。

简单。