在vs中的winform中想对一个服务控制,能停止和启动服务就是不能暂停,已暂停就提示请求的控件对此服务无效 无法暂停此服务。 遇到这个问题怎么办呢?下面来看下5个解决办法。#1
protected override void OnPause()
{
isPaused = true;
}
protected override void OnContinue()
{
isPaused = false;
}
protected override void OnStart(string[] args)
{
…..
while(true)
{
……..
if(isPaused)
{
while(isPaused)
{
System.Threading.Thread.Sleep(1000);
}
}
……..
}
}
#2
OnStart一般启动一个新线程,在新线程中一般会有while语句,while语句停不下来,Pause也停不下来。isPaused变量指示是否需要暂停,如果true则在while语句中sleep()直到恢复暂停或者停止服务。
while(isPaused&&!isStop)//如果暂停且没有停止,则暂停
{
System.Threading.Thread.Sleep(1000);
}
#3
那个在winform里这个服务的CanPauseAndContinue属性值永远都是false,在服务里右击查看这个属性值里面暂停按钮也是不可用的,不知道这怎么解决啊???
#4
我onstart里有个timer,那个必须关闭才能暂停吗?那服务管理器里的右击出现的属性对话框里的暂停按钮为什么总是不可用的呢?是不是我建的这个服务有什么问题???
#5
设置CanPauseAndContinue=true
timer需要暂停或者停止