Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VS.Net 2008中Windows服务中的控制台输出_C#_Windows Services_Console - Fatal编程技术网

C# VS.Net 2008中Windows服务中的控制台输出

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();

我正在使用C#使用Windows服务。我希望控制台中有一个输出,比如Console.WriteLine(“Hello”)。我无法获得该输出,但我能够成功地将其写入事件日志条目

  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"