. net中应用程序之间的通信
本文关键字:通信 之间 应用程序 net | 更新日期: 2023-09-27 18:17:42
我在工作中编写了一个应用程序套件,它由多个程序组成,每个程序用于处理特定的任务。例如,一个应用程序可以让你搜索你的客户列表,并为该客户预订检查设备。另一个应用程序可以让你查找已经做出的预订,并直接查看我们在哪里记录他们拿走了什么设备,等等。
我还在设计一个通知系统来配合这个套件。(如果你使用过群组邮件,把它想象成电子邮件通知。甚至是谷歌日历上的提醒)。我想让用户只需要登录到一个主要的应用程序,这也是通知应用程序。然后他们在套件中打开的其他应用程序会检查一些系统变量/。NET对象之类的,看到他们已经登录了,而不要求他们再次登录。顺便说一句,这个"登录"实际上是登录MySQL,这是我们的预订,结账,库存状态,深度客户等数据库。
我的问题是:做这样的事情最好的方法是什么?它会让每个应用程序搜索。net运行时的主应用程序和检查,看看它目前登录或什么?我以前从没做过这种事。
通常使用多个进程来实现状态分离,这样一个进程的失败就不会影响整个进程。然而,你似乎想要的正好相反。
所以,使用一个主要的应用程序过程。每当另一个小程序被点击时(无论是从开始菜单,桌面快捷方式等),它将其命令行转发给主应用程序并关闭。单个进程接收到新的启动请求并打开相应的窗口。
Win32有用于这类事情的邮件槽对象,但我相信您可以使用WCF或类似的方法找到更。net纯粹的方法。