使用类库的项目之间的通信

时间:2015-08-20 15:53:57

标签: c# c#-4.0 dll exe

我正在寻找在单独的可执行文件之间进行通信的最佳方法。

我尝试过的方法是创建一个单独的类库,它包含静态类SharedVariables并包含全局静态变量MyVariable。然后我将此项目添加为对project1和project2的引用,并引用MyVariable。编译好了。

我遇到的问题是运行project1.exe和project2.exe(在同一目录中)。在project1.exe中,我将SharedVariablesMyVariable设置为true,并在project2中有一个线程,当SharedVariables.MyVariable设置为true时,该线程执行某些操作。 Project2从未看到对SharedVariables.dll的此更改。

我是以错误的方式来做这件事的吗?我应该使用进程间通信解决方案吗?

1 个答案:

答案 0 :(得分:1)

流程之间的通信并不像在visual studio中添加对项目的引用那么容易。编译应用程序后,它们是两个不同的实体。看看进程间通信。在C#中,有NamedPipeClientStreamNamedPipeServerStream。它们用于通常在本地计算机上将信息从服务器发送到客户端。有了这个,您可以编写一些“网络”代码来同步这两个值。