C# 跨应用程序的多个实例共享列表

C# 跨应用程序的多个实例共享列表,c#,.net,C#,.net,我希望有一个列表,我的应用程序的多个实例都可以访问。目前,我可以作弊并使用全局互斥,但这在10万整数后很难正常工作。如何让一个程序的多个实例共享一个列表?一种简单的方法是将此数据放入自定义windows服务中 在此服务中承载您要共享的数据,并使用任何类型的IPC提供对此数据的访问。最简单的是WCF 另一种方法可能包括仅具有一个应用程序实例。不要在应用程序中使用表单,而是将多个表单作为单独的“伪”实例进行管理。再次启动应用程序时,请检查应用程序是否已启动,并向该应用程序发送消息 最后,正如Raja

我希望有一个
列表
,我的应用程序的多个实例都可以访问。目前,我可以作弊并使用全局互斥,但这在10万整数后很难正常工作。如何让一个程序的多个实例共享一个列表?

一种简单的方法是将此数据放入自定义windows服务中

在此服务中承载您要共享的数据,并使用任何类型的IPC提供对此数据的访问。最简单的是WCF

另一种方法可能包括仅具有一个应用程序实例。不要在应用程序中使用表单,而是将多个表单作为单独的“伪”实例进行管理。再次启动应用程序时,请检查应用程序是否已启动,并向该应用程序发送消息


最后,正如Raja所建议的,使用队列在应用程序之间共享数据。但这需要更多关于如何以及何时填充列表的信息。

跨应用程序读/写或只读?你真的是指应用程序的实例而不是应用程序内部的线程吗?为什么不使用队列?是的,我指的是实例。如何使用队列?我试图避免使用数据库,否则我会把一些东西与Redis结合起来。我从来没有使用过windows服务或WCF。这容易得可笑吗?本质上,我会在列表或集合中添加int或long(可能是string,但我对此表示怀疑),我只需要知道id是否在集合中。我可能会使用redis,但我会尽量保持它的简单性。可能会有帮助吗?有很多方法可以让应用程序相互通信,包括WCF、远程处理、套接字等等。。。WCF并没有那么复杂,但您有一个很小的学习曲线来让它工作。