如何安全地从同一应用程序的两个实例写入日志文件?
题
我有一个应用程序,它只能有1个实例中的每个时间在运行,但是,如果一个第二实例被推出它需要被记录到所述第一也可以使用共同的日志文件。
我有多少实例运行,我是打算简单地将其最初记录到事件记录器,但应用程序可以在用户或系统上下文中运行,并抛出异常试图查询事件日志源作为结账时作为安全日志是无法访问用户用户,这样的想法是报废。
所以我想找出具有相同的应用程序写入到一个日志文件的2种独立的情况下,最安全的方法是什么,以确保都得到写信给它一个机会。
我宁愿不使用现有的额外的框架如果可以避免
任何帮助理解。
其他提示
您总是可以写入到系统事件日志。无锁定或任何需要和事件查看器是更强大的比一些给它的荣誉。
在回答您的评论,其他用户问及这里SO事件日志写入权限的问题。链接到该描述如何执行。MSDN文章答案
这里参见这个问题。
如果您愿意,可以躲避这个问题...
如果这是一个Windows应用程序,你可以发送第一个实例的消息,然后就退出。在接收到该消息时,原始实例可以写入而没有任何问题的日志文件。
破解这将是一种方法内存映射的日志文件。这样,应用程序的两个实例共享的文件相同的虚拟内存映像。然后有许多的实施文件内互斥的方式。
不隶属于 StackOverflow