我有一个 C# 桌面应用程序,我想把它变成一个窗口服务。是否可以将该应用程序作为 Windows 服务?基本上我想要一个在需要时显示 gui 的应用程序,并在最小化它后进入系统尝试,它也应该出现在服务中......数据库及其从数据库中及时显示状态,所以当我需要查看它时,我可以从系统尝试启动 GUI?
任何形式的帮助都会受到高度评价。谢谢!
我有一个 C# 桌面应用程序,我想把它变成一个窗口服务。是否可以将该应用程序作为 Windows 服务?基本上我想要一个在需要时显示 gui 的应用程序,并在最小化它后进入系统尝试,它也应该出现在服务中......数据库及其从数据库中及时显示状态,所以当我需要查看它时,我可以从系统尝试启动 GUI?
任何形式的帮助都会受到高度评价。谢谢!
您将需要分离您的应用程序。Windows 服务和桌面。您需要在 Windows 服务中构建 API 挂钩,以允许从桌面应用程序和服务进行通信。我会为此推荐 WCF。
简而言之,Windows 服务不应与桌面交互。它将在与您登录的会话不同的会话中运行,即使您以运行该服务的同一帐户登录也是如此。
无法在 Windows 服务中显示 GUI。你可以做的是:
一个。将客户端逻辑与服务器逻辑分离,Windows 服务将执行服务器端操作,并向客户端公开一个 WCF API,该 API 将处理与 GUI 相关的问题。
湾。使用像 Service-O-Matic 这样的外部工具来控制您的 winforms 应用程序,就好像它是一个 Windows 服务一样。看: