繁体   English   中英

如何从一个 c# 项目与另一个 c# 项目进行通信

[英]How do I communicate from one c# project to another c# project

在我的第一个项目中,我检查了一个复选标记,然后这行代码运行:

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



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

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

是否有另一种更简单的方法来做到这一点,或者这是更简单的方法,我基本上想要如果第一个项目复选标记被选中,然后第二个表单加载,并且只有在第一个表单复选标记被选中时才检查复选标记

你必须有一些沟通的方式。

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

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

几点建议:

  • 您的应用程序不应写入 C: 驱动器的根目录。 它们可能应该保留在您的临时文件夹或用户配置文件下的文件夹( C:\Users\CNTowerGUN ),或C:\ProgramData下的程序专用文件夹。 每个应用程序都应在继续之前检查该文件夹是否存在。
  • 写入当前时间可能比写入随机字符串更有用。 如果您正在调试,这将有所帮助。 同样,第二个应用程序可能想要实际读取文件以检查其内容。
  • 进行写入的应用程序应警惕由于权限不足或文件正在使用而无法写入文件的可能性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM