我在C#中编写了一个小窗口服务,它应该侦听特定的端口,并对请求执行某些操作。C#Windows服务没有显示为启动
我也写了主要是这样的:
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上述错误出现,其定义为不启动。
事件日志:
名称DER fehlerhaften Anwendung:AutoDeployService.exe,版本:1.0.0.0,Zeitstempel:0x5459e290 名称DES fehlerhaften Moduls:未知,版本:0.0.0.0,Zeitstempel:00000000 Ausnahmecode:00000000 Fehleroffset:0x0039010b ID DES fehlerhaften Prozesses:0xa0c Startzeit DER fehlerhaften Anwendung:0x01cff8d816b830d8 PFAD DER fehlerhaften Anwendung: C:\用户* 用户名* \桌面\自动部署\ AutoDeployService \ BIN \调试\ AutoDeployService.exe 个PFAD DES fehlerhaften Moduls:未知 Berichtskennung:5d636ccf-64cb-11e4-b5d1-0050568bc9b7
编辑:
如果我启动该服务,该服务犯规似乎进入的OnStart法,因为他不创建一个文件夹。
检查Windows事件日志中的应用程序。另外请注意,最好检查一下调试器是否附加了如果(Debugger.IsAttached)System.Diagnostics.Debugger.Break();' – Silvermind 2014-11-05 09:05:36
@Silvermind 感谢您的快速回放。 Eventlog中的消息没有多大帮助。请参阅我的文章中的编辑。 – Marius 2014-11-05 09:11:32