【发布时间】:2015-08-24 19:21:43
【问题描述】:
我有一个将日志写入文本文件的 Windows 服务应用,然后我有一个需要从文件中读取相同信息的 WinForms 应用。
但是我怎样才能让两个应用程序(在同一个解决方案中)读/写同一个文件? 两个应用都在同一个解决方案中使用共享项目,但
System.AppDomain.CurrentDomain.BaseDirectory + @"\log.txt";
两个点都指向不同的目录。
【问题讨论】:
-
如果您需要在同一个解决方案中从多个应用程序访问资源,为什么不使用 logPath 配置设置?
-
这是个糟糕的主意。您不应该有两个进程写入同一个文件。如果只是因为这样的代码的可靠性是可疑的,而一个不可靠的日志是完全没有用的。
-
@Aron - 它是读取和写入日志的同一个类。写入部分只是从 Win Service 项目中调用,而读取类是从另一个项目中调用的。但它是同一类,在 1 个项目中。
-
@user1208908 这不是日志。它是基于文件系统的 IPC。它是一种反模式,甚至比 IPC over RDBMS 更糟糕,除了通过内存映射文件实现的情况。请查看其他 IPC 技术,例如 WCF 命名管道。
标签: c# winforms windows-services