.NET中的应用程序之间的通信

时间:2013-06-10 18:59:48

标签: c# .net

我有一个应用程序套件,我在工作中编写,包含多个程序,每个程序都用于处理特定任务。例如,一个应用程序可让您搜索客户列表并预订该客户以检查设备。另一个应用程序让您查看已经完成的预订,并直接查看我们记录他们所采取的设备的位置等。

我还在设计一个通知系统来配合这个套件。 (如果您使用过Groupwise电子邮件,请将其描述为电子邮件通知。甚至是Google日历上的提醒)。我想让用户只需要登录一个主应用程序,这也是通知应用程序。然后,他们在套件中打开的每个其他应用程序都会检查一些系统变量/ .NET对象或其他任何内容,并看到它们已经登录并且不需要它们再次执行此操作。顺便说一句,这个“登录”实际上是登录MySQL,这是我们的预订,结账,库存状态,部门客户等数据库。

我的问题是:做这样的事情最好的方法是什么?是不是让每个应用程序搜索主应用程序的.NET运行时并检查它当前是否已登录?我以前从未做过这样的事。任何建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

通常你使用多个进程来分离状态,这样一个进程中的失败就不会占用整个进程。但是,你似乎想要相反。

因此,使用一个主要的申请流程。每当点击另一个小程序时(无论是从“开始”菜单,桌面快捷方式等),它都会将其命令行转发到主应用程序并关闭。单数过程接收新的启动请求并打开相应的窗口。

Win32有这种东西的邮件对象,但我相信你可以使用WCF或类似方法找到更纯粹的.NET方法。