我有以下场景: 1. .NET UI 端使用 Logging App Block 写入平面文件 2. 非托管 Windows 服务使用专有记录器写入与 1 相同的文件。
问题:有没有办法让 FlatFile TraceListener 在记录条目后关闭它的文件句柄,以便 Windows 服务也可以写入文件?
谢谢!
更新:我包括 Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Writer.Dispose(); 这会关闭流,所以这可以解决问题——只是好奇是否有另一种方法可以做到这一点。
更新 2:最后的笔记
P&P 建议从多个应用程序写入单个 MSMQ。这样您就不需要调用 Dispose() 等。