我有2个控制台应用程序。
Application_B和Application_C。两个应用程序都从中收集数据 Application_A。
假设我先运行Application_B并从Application_A获取数据。同时,如果我运行Application_C,它应该显示已填充值的消息,或者类似的东西。
答案 0 :(得分:0)
最适合您案例的选项:
将值保存到App_B中的文件中,并让App_C检查其存在并阅读。
详细答案:
你需要做两件事:
有许多可能的解决方案包括:
答案 1 :(得分:0)
我强烈建议您在开发阶段之前阅读Application Domain概念。这是一个摘录。 资料来源:https://docs.microsoft.com/en-us/dotnet/framework/app-domains/application-domains
操作系统和运行时环境通常提供某种形式 应用程序之间的隔离。例如,Windows使用进程 隔离应用程序。这种隔离对于确保这一点是必要的 在一个应用程序中运行的代码不会对其他应用程 不相关的申请。应用程序域提供隔离 安全性,可靠性和版本控制以及卸载的边界 组件。应用程序域通常由运行时创建 主机,负责引导公共语言 运行应用程序之前的运行时。
您可以利用一些解决方案来解决您的问题。 使用共享存储库可能是一个很好的解决方案。此存储库可以是文件或数据库。
答案 2 :(得分:0)
您的问题不是很明确,但似乎Application_A
正在获取/生成Application_B
或Application_C
可以收集的数据。如果其中一个(B/C)
已经收集了数据,则其他人应该显示“已收集的数据”或“不再有数据”等消息。
Application_A
必须提供两件事:
将数据存储在某处。可以保护它以进行并发访问。您可以考虑使用Mutex。
标志:这表示是否有更多数据可用。一旦B / C读取数据,您就可以重置。
您可以将数据保存在B / C可以收集的全球位置,A将写入或者数据可以保存在C,并在请求后传递给B / C.但为此,您必须决定进程间通信的协议。