c# - 如何将 C# 控制台应用程序附加到正在运行的 Windows 服务?

标签 c#

我有一个 Windows 服务,它在执行某些操作时会生成日志。我还对写入日志文件的每条日志消息执行 console.writeline 调用。但由于它是一个 Windows 服务,console.write 行是不可见的。

我想编写一个可以附加到我的服务(已经运行)的 C# 控制台应用程序,它可以只显示进程(我的 Windows 服务)正在生成的所有 console.writeline 消息。

更新:日志量非常频繁(每分钟 50 条消息),我不想为此挤满 Windows 事件日志。使用控制台窗口有助于查看日志并方便地退出

最佳答案

显示来自服务的窗口不是一个好主意,因为您必须找到“正确的” session (Windows 允许多个用户登录)并且还需要服务能够访问用户的桌面。

相反,将 Console.WriteLine 调用更改为 Trace.WriteLine 可能是最简单的方法。然后您可以附加到这些跟踪消息,例如通过使用 SysIntenal 的 DebugView .

关于c# - 如何将 C# 控制台应用程序附加到正在运行的 Windows 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2110130/

相关文章:

c# - 使用 NEST 构建静态查询

c# - 在 Crystal Reports 中动态更改数据库类型、源等(适用于 Visual Studio 2012)

c# - NLog 的版本冲突

c# - 如何通过 jquery ajax 发送 AntiForgeryToken (CSRF) 和 FormData

C# DropDownlist 默认值-1 但显示不正确

c# - 通用数据库连接 C#

c# - 在 Windows 窗体中使用 Windows 7 风格的菜单条

c# - 强制 DateTime.Parse 对于不变日期失败

Javascript Ajax 前端调用 asp.net C# 后端

c# - ServiceStack.Text json 反序列化创建错误的对象而不是抛出无效的 json 输入字符串