有没有办法为每个服务设置不同的服务启动超时值?我可以使用ServicesPipeTimeout注册表键更改它,但它是针对每台机器(http://support.microsoft.com/kb/824344)的。
当时我唯一想做的事情就是在不同的线程中执行所有耗时的启动操作。
发布于 2009-05-26 08:28:05
我同意Romulo关于尽快完成并开始您的服务的观点。但是,如果您需要时间并且使用的是.NET Framework2.0或更高版本,则可以考虑使用ServiceBase.RequestAdditionalTime()方法。
http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicebase.requestadditionaltime.aspx
protected override void OnStart()
{
this.RequestAdditionalTime(10000);
// do your stuff
}
发布于 2015-05-27 15:00:37
只需在另一个线程中执行时间密集型任务
protected override void OnStart(string[] args)
{
var task = new Task(() =>
{
// Do stuff
});
base.OnStart(args);
task.Start();
}
https://stackoverflow.com/questions/216401
复制相似问题