C#Windows服务未显示为已启动



我在C#中写了一个小的windows服务,它应该监听特定的端口并处理请求。

我还写了这样的Main:

using System;
using System.ServiceProcess;
namespace AutoDeployService
{
    public static class WindowsServiceController
    {
        private static void Main(string[] args)
        {
            ServiceBase[] ServicesToRun;
            ServicesToRun = new ServiceBase[] 
            { 
                new AutoDeployService() 
            };
            if (Environment.UserInteractive)
            {
                new AutoDeployService().ConsoleRun();
            }
            else
            {
                System.Diagnostics.Debugger.Break();
                ServiceBase.Run(ServicesToRun);
            }
        }
    }
}

所以我可以在没有控制台的情况下启动服务。当我作为控制台应用程序启动程序时,它运行良好!

如果我用"InstallUtil.exe"安装服务,它会完美安装,并出现在服务列表中。但当我尝试启动服务时,大约半分钟或更长时间后,它会给我以下信息:

该服务没有及时响应启动或控制请求。

在我研究了www中的这个错误后,我发现OnStart方法可能需要很多时间,现在我的OnStart方法看起来像:

        protected override void OnStart(string[] args)
        {
            base.OnStart(args);
            var initializeThread = new Thread(new ThreadStart(Initialize));
            initializeThread.Start();
        }

所以我希望任何人都能帮助我。

问候

编辑:服务似乎是在我用servicemanager启动他之后启动的,但在servicemanager中出现了上面的错误,并将其定义为未启动。

事件日志:

名称:AutoDeployService.exe,版本:1.0.0.0,Zeitstempel:0x5459e290模块名称:未知,版本:0.0.0.0,Zeitstempel:0x0000000澳大利亚货币代码:0x00000000费勒罗夫集:0x0039010b项目ID:0xa0c开始时间:0x01cff8d816b830d8安文东地区:C: \Users*用户名*\Desktop\AutoDeploy\AutoDeployService\bin\Debug\AutoDeployServices.exePfad des fehlerhoften模:未知Berichtskenung:5d636ccf-64cb-11e4-b5d1-000568bc9b7

编辑:

如果我启动该服务,该服务似乎不会进入OnStart方法,因为他不会创建文件夹。

似乎有一些误解;尽管可执行文件可以从命令行启动,但服务本身不能从命令行开始。此外,关于服务创建的教程可以在这里找到。

感谢您的帮助。

我发现我的错误是用以下命令附加调试器:

Debugger.Launch().

错误出现在我的应用程序的线程中。

相关内容

  • 没有找到相关文章

最新更新