我想通过c#编写一个windows服务,它从database1中的t1表获取数据,并将此数据插入另一个数据库中的另一个表中(例如database2中的t2)。我正在使用本教程系列:Windows Services in C#。简单地说,通过使用一个计时器,数据库1中的一段时间(例如每1000毫秒)数据在数据库2中读写。这项工作很好,没有问题。
我想为用户提供一个GUI,他可以输入这些项目:
因为我开始使用Windows服务,我无法做到这一点。我在网上和SO搜索,并发现这个问题引入了IPC(进程间通信)。但我无法找到IPC以及如何通过它来解决我的问题。
答案 0 :(得分:1)
如果您每隔一秒左右完成一次实际工作,就可以在工作周期之前轻松地从注册表或配置文件中读取设置。
您的GUI应用程序将完全独立,它只会编写注册表设置或配置文件,这可能比IPC更容易。
如果您确实想要使用IPC,首先需要决定使用圆顶IPC机制(我建议使用套接字来实现可移植性和可能的远程配置,但这是个人品味的问题),然后让您的服务倾听并使用您的GUI应用程序连接和写。确保您不要忘记干净的身份验证。