【发布时间】:2010-02-05 21:15:37
【问题描述】:
我有一项服务可以控制 RS-232 设备并将操作记录到文件中。我要编写另一个服务,它将逐行读取日志文件并在数据库上运行一些查询,然后删除所有日志。
我担心文件的读写冲突。例如,记录器服务打开文件以追加新行,同时复制器服务打开文件并写入“”,因此截断其内容。
有什么建议可以澄清我的情况吗?
【问题讨论】:
标签: c# .net windows file-locking read-write
我有一项服务可以控制 RS-232 设备并将操作记录到文件中。我要编写另一个服务,它将逐行读取日志文件并在数据库上运行一些查询,然后删除所有日志。
我担心文件的读写冲突。例如,记录器服务打开文件以追加新行,同时复制器服务打开文件并写入“”,因此截断其内容。
有什么建议可以澄清我的情况吗?
【问题讨论】:
标签: c# .net windows file-locking read-write
如何修改“读取”服务以首先重命名文件(在它前面放一个“_”是我通常做的)。然后它可以在完成后将其删除。如果日志文件不存在,写入服务应该创建它。这样你应该有零数据丢失。
【讨论】:
如果您不使用文件,则用例会建议使用消息队列来移交您的日志消息。
【讨论】: