我如何从一个C#项目通信到另一个C#项目

时间:2019-11-08 02:43:30

标签: c#

在我的第一个项目中,我选中一个对号,然后运行以下代码行:

if (checkbox1.Checked == true)
{
  File.WriteAllText("C:\\True.txt", "fshfgyusfusd");
}



然后从我的第二个项目中,当表单加载时,我希望它同步选中标记, 所以这是我的代码:

if (File.Exists("C:\\True.txt"))
{
 checkbox1.Checked = true;
}

还有另一种更简便的方法吗,或者这是更简单的方法,我基本上是想先检查第一个项目的选中标记,然后再加载第二个窗体,并且仅在选中第一个窗体的选中标记时才检查选中的标记

1 个答案:

答案 0 :(得分:1)

您必须有某种沟通方式。

如果两个程序要同时运行,则可以使用套接字,也可以使用互斥锁。如果它们不是同时运行,则必须将内容保存到文件或数据库中。可能您的第一个应用程序可以通知第三方(最有可能是Web服务),而第二个应用程序可以查询该Web服务是否发生。

但是对于您所描述的异步通信,文件可能是最简单的。

一些建议:

  • 您的应用程序不应写入C:驱动器的根目录。它们可能应该粘贴到您的临时文件夹,用户配置文件(C:\Users\CNTowerGUN下的文件夹或C:\ProgramData下的专用于该程序的文件夹。每个应用程序均应在继续操作之前检查文件夹是否存在。
  • 写当前时间可能比写随机字符串更有用。如果您要调试,这将有帮助。同样,第二个应用可能希望实际从文件中读取内容以检查其内容。
  • 正在编写应用的应用程序应格外小心,以防止由于权限不足或文件正在使用而无法写入文件。