赢得服务和赢得应用程序之间的沟通

我想写一个Windows服务,将与我的win应用程序进行通信,它将运行我的Windows窗体。 我该怎么做? 如果你给我一个简单的例子的链接,这将是非常好的。

我还有一个问题:如果我用Windows服务运行我的胜利表单,如果我不closures我的表单,它将被closures,如果用户注销,这是真的吗?

有很多选择:

  • WCF
  • .NET Remoting
  • 共享内存
  • 命名管道
  • 普通的TCP

什么机制是最适合你的情况取决于你没有陈述,可能没有考虑的要求。 如果你不知道你需要什么,只要抓住任何足够简单的机制,你已经使用了一个合适的教程,并开始编码。

Ondrej回答了你的问题的第一部分。 你还问:

我还有一个问题,如果我运行Windows服务的胜利形式,如果我不关闭我的表单,它将关闭,如果用户注销,是真的吗?

那么,首先,一个服务运行没有任何用户界面,没有任何形式。 如果您的服务需要与您的用户沟通,那么这就是您需要的应​​用程序。

但是,要回答我认为你问的问题,当用户注销时,正在运行的任何应用程序将关闭,但服务继续运行。

实际上,Windows服务用于执行必须独立运行一段时间的操作。 它没有任何显示操作进度的UI。

查看示例,了解可以使用Windows服务的情况。

例如:如果一个表包含n个记录,并且每个记录都必须被处理。 假设处理可能需要几分钟的时间,这可能会导致在asp.net中出现某种超时,您可以使用Windows服务来运行此过程。 您可以在Windows服务中设置一个计时器来安排行处理(一次一行,并在一天结束时完成整个行处理)。