2011-02-10 78 views
1

我的应用程序需要是一个服务(无论用户是否登录,它都需要运行),但我还需要某种客户端控制/监督它正在执行的操作。什么是最佳的方式来做到这一点?服务与用户交互的最佳方式

  1. 写一个单独的应用与服务应用程序通信 - 我看到,在稳定性方面是最好的解决方案,因为该应用程序将在业务应用有所分离系统事件

  2. 使用回调直接从服务应用程序加载UI表单 - 我认为这更容易部署。

你认为我该走哪条路?

+1

服务的重点在于它没有直接的用户交互。 – StingyJack 2011-02-10 21:45:34

回答

1

前者通常更理想。服务确实意味着没有用户交互的设计运行,并试图与他们做UI的事情可能是一个巨大的痛苦。

Windows窗体应用程序和服务可以在多种方式沟通:命名管道,插座,DDE,等我使用命名管道在过去的控制/与服务交互,这是很容易得到特别是如果你只是需要服务,每隔一段时间就吐出一些随机数据。客户所要做的就是倾听。

至于部署,Windows窗体应用程序可能没有很多(如果有的话)服务本身没有的依赖关系,因此部署只是在安装程序包中包含另一个.exe。

2

我已经使用过去的第一个选项,因为在尝试从服务加载UI表单时(如选项2),您会遇到问题。您需要启动另一个应用程序才能向用户显示表单,因此将应用程序启动基于用户会话而非服务启动会更有意义。

相关问题