c# - 如何将控制台构建添加到 C# Windows 服务应用程序并显示控制台?
问题描述
我有一个项目,该项目最初在 Visual Studio 2019 中构建为 C# Windows 服务。我进行了更改,以有条件地将其编译为服务和控制台应用程序。我遇到的问题是,当应用程序在控制台模式下运行时,它作为后台进程运行并且从不显示控制台。是否有一些设置可以让它作为普通的控制台应用程序运行?
我知道应用程序确实在运行,因为当我调试它时,它会在收到数据包后停在我的断点处。
解决方案
我通常这样做:(无需有条件地编译)
static void Main(string[] args)
{
if (Environment.UserInteractive)
{
Service s = new Service();
s.Start();
while (true)
{
Thread.Sleep(10000);
}
}
else
{
ServiceBase.Run(new ServiceClass());
}
}
推荐阅读
- php - PHP array_search通过变量在多维数组中
- mysql - SpringBoot 使用 Hibernate 与 Mysql 集成
- android - Smack 中的聊天标记 (XEP-0333)
- django - Django:如何测试无效的对象创建
- javascript - 检查嵌套括号是否平衡的 JavaScript 正则表达式
- javascript - D3 基于名称而不是索引链接节点
- hibernate - 使用 Java Spring MVC 上传 FOLDER 函数
- html - 在 jinja 框架中存储表单信息
- asp.net - 在.Net中从服务器传输压缩文件
- ofstream - 尝试在文本文件名中插入 int 不起作用