好的,所以我知道如何编写服务和后台应用程序,我正在寻找更多的一般意见,因为这是一个奇怪的用例,因为我无法找到这样的示例在线给我指导。
基本上,我遇到的问题是我有一个服务器(一个应用程序,而不是 Web 服务器),其中包含我的所有应用程序逻辑,以及一组可以向服务器发送消息来执行操作的客户端。
显然,客户端是传统的 UI 应用程序。问题是服务器应该是什么......
它不需要 GUI,并且当它启动时,机器上应该只有一个版本。另一方面,它应该仅在至少有一个客户端时运行,否则它应该关闭。
我可能想得太多了,但我应该将其作为第一个客户端实例化的服务还是后台应用程序吗?
我引用的内容如下:Windows Service vs Windows Application - Best Practice
最佳答案
使用 Windows 服务。它将在您的服务器启动时启动并持续运行,直到服务器关闭。
没有客户端时无需关闭。如果应用程序除了等待套接字上的新连接之外什么都不做,那么它将占用非常少量的资源:套接字和一些内存。
此外,如果您关闭服务,当客户端想要连接时,您将使用什么机制重新启动它?
关于c# - 创建服务还是后台应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17031474/