我们正在使用 Topshelf 来托管服务。在启动服务之前,我们正在调用数据库来加载大量数据。因此,在启动服务时,我们收到以下错误:
Start Service failed with return code '[7] ServiceRequestTimeout
我们使用以下代码来启动服务:
HostFactory.Run(x =>
{
x.Service<AppService>(s =>
{
s.ConstructUsing(name => new AppService(s_resolver, baseAddress, resolver));
s.WhenStarted(svc => svc.Start());
s.WhenStopped(svc => svc.Stop());
s.WhenShutdown(svc => svc.Shutdown());
});
x.EnableShutdown();
x.RunAsLocalService();
x.StartAutomatically();
x.SetDisplayName("Application Host");
x.SetDescription("Application Host");
});
如果我尝试使用 Visual Studio 启动服务,服务运行正常。但是当服务通过 Topshelf 托管时,我收到超时错误。
我也尝试过使用hostControl.RequestAdditionalTime(TimeSpan.FromSeconds(300))
但即使添加额外的超时时间后,我也无法解决该问题。请提供您的建议。
文档的用途是什么HostControl.RequestAdditionalTime http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicebase.requestadditionaltime.aspx未能说明的是您最多只能要求 60 或 120 秒。否则它会忽略您的请求。
据我所知,它的记录非常出色:(如果您发现它在某个地方记录,请告诉我。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)