2

これはコードに関する直接的な質問ではなく、FileSystemWatcher/OS の動作に関する質問です。何千ものログファイルを監視するアプリがあります。アプリは何年も問題なく動作します。Server 2003 でホストされている共有に対して Server 2003 で実行されていました。

サーバー 2008 (R2) 上で実行され、ストアがサーバー 2008 (R2) 上にある場合、多くのイベントは生成されません。私は違いを示す簡単な再現を作成しました [しかし、私が言ったように: 長く実行されている古い proggi は適切に動作します]。ログを生成するアプリは、私のコードの管理下にはありません。私の再現では、そのようなログを一時停止して書き込みます-ライターや下層のストリームのフラッシュでさえ役に立ちません]。

Server 2003 では、各更新 [ロギング アプリからの書き込み操作] により、FSW が Size changed イベントを発生させます。Server 2008 では、これは、アプリがログ ファイルの書き込みを開始したときと、ログ ファイルが閉じたときにのみ発生します。途中でのイベントはもうありません。NTFS タイムスタンプを書き込むように REG キーを設定しても、この動作は変わりませんでした。

私は MS に電話をかける立場にはありませんが、おそらく誰かがこの動作を見て回避策を知っているでしょう。

私の頭に浮かぶ回避策は次のとおりです。 Server 2003 または Linux にダウングレードします。どちらも期待どおりに機能します。

どんなアイデアでも大歓迎です。

よろしくお願いします、

++マブラ

[ネット 2.0 => 4.0; 質問なし: すべてのパッチ、OS も]

[編集]

申し訳ありませんが、分析に問題がありました.... Server 2008 へのアプリの移行に伴い、新しいアプリが一連のファイルを監視するようになりました [同時に 2 つのことを変更しないでください....]。新しいアプリには別の動作があり、それから以前に読んだログのアプリ....

(1)古いアプリの使用: 開く/追加、書き込み、閉じる。
(2)新しいアプリの使用: 開く/作成、書き込み、スリープ、書き込み、スリープ、書き込み、閉じる。

FSW は、古いアプリの動作の変更されたイベントを提供しますが、新しいアプリの変更イベントは提供しません。FSW Notifyfilters.Size が期待どおりに機能しません。そのため、新しいアプリのログは FSW で監視できません。サイズ変更だけで chnaged イベントを発生させる回避策は見つかりませんでした。

しかし、これは次のとおりです。これは Windows Server 2008 です。mono を使用する Windows Server 2003 および Linux では、(2) の変更されたイベントも表示されます!!!!! だから、私の「タイトル」はそれほど悪くはありませんでした;-)

今の.Netに不満....

誰かがおそらくアイデアを持っている場合は、今すぐ教えてください!!

そして私のずさんな初めての分析で申し訳ありません... ;-)

br, ++マブラ

4

1 に答える 1

0

念のため、誰かがこれを見ているとは……。

数週間前に MS.Connect でイシューをオープンしたところ、VS チームに送られました。

悪いニュースは今日からのもので、最初に問題を「修正しない」に設定してから終了しました。

これは、修正されないバグの間接的な確認と見なされます。

私は完全に失望しています。

とにかく、よろしくお願いします。

++マブラ

=> MS Connect の問題

于 2013-02-21T15:44:32.340 に答える