通过GUI将连接字符串和计时器间隔传递给Windows服务

时间:2013-04-21 14:16:57

标签: c# windows-services ipc

我想通过c#编写一个windows服务,它从database1中的t1表获取数据,并将此数据插入另一个数据库中的另一个表中(例如database2中的t2)。我正在使用本教程系列:Windows Services in C#。简单地说,通过使用一个计时器,数据库1中的一段时间(例如每1000毫秒)数据在数据库2中读写。这项工作很好,没有问题。

我想为用户提供一个GUI,他可以输入这些项目:

  1. 数据库1的连接字符串
  2. 数据库2的连接字符串
  3. 计时器的间隔
  4. 因为我开始使用Windows服务,我无法做到这一点。我在网上和SO搜索,并发现这个问题引入了IPC(进程间通信)。但我无法找到IPC以及如何通过它来解决我的问题。

1 个答案:

答案 0 :(得分:1)

如果您每隔一秒左右完成一次实际工作,就可以在工作周期之前轻松地从注册表或配置文件中读取设置。

您的GUI应用程序将完全独立,它只会编写注册表设置或配置文件,这可能比IPC更容易。

如果您确实想要使用IPC,首先需要决定使用圆顶IPC机制(我建议使用套接字来实现可移植性和可能的​​远程配置,但这是个人品味的问题),然后让您的服务倾听并使用您的GUI应用程序连接和写。确保您不要忘记干净的身份验证。