4

我有一个 C# 桌面应用程序,我想把它变成一个窗口服务。是否可以将该应用程序作为 Windows 服务?基本上我想要一个在需要时显示 gui 的应用程序,并在最小化它后进入系统尝试,它也应该出现在服务中......数据库及其从数据库中及时显示状态,所以当我需要查看它时,我可以从系统尝试启动 GUI?

任何形式的帮助都会受到高度评价。谢谢!

4

2 回答 2

3

您将需要分离您的应用程序。Windows 服务和桌面。您需要在 Windows 服务中构建 API 挂钩,以允许从桌面应用程序和服务进行通信。我会为此推荐 WCF。

简而言之,Windows 服务不应与桌面交互。它将在与您登录的会话不同的会话中运行,即使您以运行该服务的同一帐户登录也是如此。

于 2013-02-25T15:10:15.140 回答
1

无法在 Windows 服务中显示 GUI。你可以做的是:

一个。将客户端逻辑与服务器逻辑分离,Windows 服务将执行服务器端操作,并向客户端公开一个 WCF API,该 API 将处理与 GUI 相关的问题。

湾。使用像 Service-O-Matic 这样的外部工具来控制您的 winforms 应用程序,就好像它是一个 Windows 服务一样。看:

http://www.kwakkelflap.com/service.html

于 2013-02-25T15:03:15.967 回答