2012-03-05 1 views
0

イントラネット上の複数の異なる場所から編集できるファイルがありますが、特定のマシンで最新の状態に保つ必要があります。Windows 2008R2を使用するタスクShedulerで選択したファイルの変更を追跡する

方法はこれのように動作します。

私たちには、ライブWebサイトのイントラネットコピーでファイルの変更が行われ、表示されるローカルイントラネットがあります。すべてがうまく見えたら、ファイルはリモートサーバにアップロードされ、以前のバージョンを上書きすることができます。

これは理想的ではありませんが、私は知っていますが、そうする必要があります。

私がしたいのは、そのリモートバージョンのファイルの変更を追跡して、その変更をローカルマシンに反映させることです。

私がこれまで持っていた考えは、変更が行われるたびにリモートサーバー上のタスクスケジューラを使用して電子メールを送信することです。変更は頻繁に起こることは予期されていませんが、変更が発生した場合、そのことを知る必要があります。

私の問題は、私はどのようなイベントがタスクマネージャで検索するのかよく分かりません。それが立てば、ファイルをサーバーにFTPして変更したり、リモートでアップロードしたりアップロードしたりすることによってファイルを変更することができます。私が言ったように、理想的ではありませんが、私はそれと一緒に仕事をする必要があります。

ここではタスクスケジューラを使用してトリガーを作動させたいと思っています。そこから、私は少し失われています。

答えて

0

私は、FileSystemWatcherを作成し、アプリケーションの起動時に起動することで、より優れた/より有用な/「十分に良い」解決策を見つけました。 アプリケーションが何らかの理由で停止しても変更が反映されないため、「十分に良い」と表示されます。しかし、私がアプリケーションを停止する可能性が高いのは私だけなので、問題が発生した場合、FileSystemWatcherが壊れているよりも少し深刻です。

具体的には、「ユーティリティ」というクラスを作成し、その中にFileSystemWatcherを作成しました。

次に、Global.asax.cs Application_Start()メソッドで、FileSystemWatcherを初期化して設定しました。

変更が行われた場合、ウォッチャーのイベントハンドラは、新しいファイルが添付された状態で電子メールを送信します。

シンプル。

関連する問題