次のシナリオがあります: 1. .NET UI 側は Logging App Block を使用してフラット ファイルに書き込みます 2. アンマネージド Windows サービスは独自のロガーを使用して 1 と同じファイルに書き込みます。
質問: エントリがログに記録されると、FlatFile TraceListener がそのファイル ハンドルを閉じて、Windows サービスもファイルに書き込むことができるようにする方法はありますか?
ありがとう!
更新: Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Writer.Dispose(); を含めました。これでストリームが閉じられるので、これでうまくいきます。これを行う別の方法があるかどうかは興味深いことです。
Update2: ファイナルノート
P&P は、複数のアプリケーションから単一の MSMQ に書き込むことを提案しています。これにより、Dispose() などを呼び出す必要がなくなります。