C# VS.Net 2008中Windows服务中的控制台输出
我正在使用C#使用Windows服务。我希望控制台中有一个输出,比如Console.WriteLine(“Hello”)。我无法获得该输出,但我能够成功地将其写入事件日志条目C# VS.Net 2008中Windows服务中的控制台输出,c#,windows-services,console,C#,Windows Services,Console,我正在使用C#使用Windows服务。我希望控制台中有一个输出,比如Console.WriteLine(“Hello”)。我无法获得该输出,但我能够成功地将其写入事件日志条目 eventLog1.WriteEntry("In OnStart"); try { Console.WriteLine("Hello"); DBSyncHandler sync = new DBSyncHandler();
eventLog1.WriteEntry("In OnStart");
try
{
Console.WriteLine("Hello");
DBSyncHandler sync = new DBSyncHandler();
sync.startSync();
}
因此,我无法检查它是否正在写入控制台并执行下面提到的代码。您可能是指
调试。WriteLine
不是吗?如果是这样,请使用sysinternals监视任何应用程序(包括服务)发送的每个调试消息
编辑:逐步
控制台.WriteLine
替换为Debug.WriteLine
你的意思可能是调试。写线,不是吗?如果是这样,请使用sysinternals监视任何应用程序(包括服务)发送的每个调试消息 编辑:逐步
控制台.WriteLine
替换为Debug.WriteLine
windows服务中没有可用的控制台窗口;我将使用的选项是使用日志框架(如log4net)将语句输出到日志文件您在windows服务中没有可用的控制台窗口;我将使用的选项是使用日志框架(如log4net)将语句输出到日志文件中为了查看Windows服务中的控制台输出,您需要将服务设置为“允许服务与桌面交互”
为了在Windows服务中查看控制台输出,您需要将服务设置为“允许服务与桌面交互”
如果您正在编写一个没有控制台的服务,请使用事件日志。您好,Jon,谢谢。但是我如何才能知道代码是否已执行…您是否知道我需要在以前控制台所在的每个步骤将其写入事件日志。在创建实例时,请在DbSyncHandler类中,有些阶段使用控制台显示。您的意思是我需要在那里使用EventLog来检查DBSyncHandler中执行了多少代码。如果您正在编写服务,您没有控制台,请改用事件日志。您好,Jon。谢谢。但我如何才能知道代码是否已执行…您是否知道我需要在前面控制台所在的每个步骤将其写入事件日志。例如,在创建实例时,在DbSyncHandler类中,有些阶段使用控制台显示。你的意思是我需要在那里使用事件日志来检查DBSyncHandler中执行了多少代码。你能再详细说明一下吗。我需要知道`DBSyncHandler sync=newdbsynchandler();sync.startSync();是不是被处决了,你能再详细说明一下吗。我需要知道`DBSyncHandler sync=newdbsynchandler();sync.startSync();正在执行或未执行。@developer82然后,您在服务上的任何
Console.WriteLine
语句都将显示在典型的DOS提示符上。如何将DOS提示符附加到服务上?谢谢,我也需要回答这个问题?@developer82,然后您在服务上的任何Console.WriteLine
语句都会显示在典型的DOS提示符上。我如何将DOS提示符附加到服务上?谢谢,我也需要一个答案吗?
Control Panel --> Admin Tools --> Services --> select yours --> (right-click) Properties --> Logon Tab --> Tick "Allow service to interact with Desktop"