c# - 创建服务还是后台应用程序?

标签 c# windows windows-services

好的,所以我知道如何编写服务和后台应用程序,我正在寻找更多的一般意见,因为这是一个奇怪的用例,因为我无法找到这样的示例在线给我指导。

基本上,我遇到的问题是我有一个服务器(一个应用程序,而不是 Web 服务器),其中包含我的所有应用程序逻辑,以及一组可以向服务器发送消息来执行操作的客户端。

显然,客户端是传统的 UI 应用程序。问题是服务器应该是什么......

它不需要 GUI,并且当它启动时,机器上应该只有一个版本。另一方面,它应该仅在至少有一个客户端时运行,否则它应该关闭。

我可能想得太多了,但我应该将其作为第一个客户端实例化的服务还是后台应用程序吗?

我引用的内容如下:Windows Service vs Windows Application - Best Practice

最佳答案

使用 Windows 服务。它将在您的服务器启动时启动并持续运行,直到服务器关闭。

没有客户端时无需关闭。如果应用程序除了等待套接字上的新连接之外什么都不做,那么它将占用非常少量的资源:套接字和一些内存。

此外,如果您关闭服务,当客户端想要连接时,您将使用什么机制重新启动它?

关于c# - 创建服务还是后台应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17031474/

相关文章:

c# - 在代码中查找 Webview2 WPF 控件的边缘版本

c# - 使用存储过程最优雅的方法是什么?

c++ - 帮助在 Windows 上使用 g++ 构建

java - 将项目动态添加到 Windows 资源管理器的上下文菜单

c# - 我应该担心内存泄漏吗?

c# - 如何修复此错误以防止返回“测验”页面并更改他的答案?

c# - 在 C# 中使用 sql float 的 Nhibernate float 问题

c# - WPF 应用程序的 Windows 任务栏中显示错误大小的图标

c# - 有windows服务好还是控制台应用好?

c# - Windows 服务内存使用量增加