在win服务和win app之间进行通信

时间:2011-03-06 17:26:30

标签: c# windows windows-services communication

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

我有另一个问题:如果我使用Windows服务运行我的win表单,如果我不关闭我的表单,如果用户注销它将被关闭,是真的吗?

3 个答案:

答案 0 :(得分:4)

有很多选择:

  • WCF
  • .NET Remoting
  • 共享内存
  • 命名管道
  • plain TCP
  • ...

对您的案例最好的机制取决于您未说明并且可能没有考虑的要求。如果你不知道你需要什么,只需抓住任何一个足够简单的机制,你已经搜索了一个合适的教程并开始编码。

答案 1 :(得分:0)

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

  

如果我跑我的话还有另一个问题   赢得Windows服务的形式,如果我   不要关闭我的表格,它会很接近   如果用户注销,是真的吗?

嗯,首先,服务在没有任何UI的情况下运行,没有任何形式。如果您的服务需要与您的用户沟通,那么这就是您需要的应​​用程序。

但要回答我认为您要问的问题,当用户注销时,任何正在运行的应用都会关闭,但服务会继续运行。

答案 2 :(得分:0)

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

请参阅示例,了解可以使用Windows服务的情况......

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