public partial class Service1 : ServiceBase
{
Class1 class1 = null; private bool isRunning;
private Thread fftListenThread; //构造函数
public Service1()
{
InitializeComponent();
class1 = new Class1();
} //服务启动入口
protected override void OnStart(string[] args)
{
isRunning = true;
//启动一个线程
fftListenThread = new Thread(new ThreadStart(doListenClientFftScoket));
fftListenThread.Start();
}
//服务中止入口
protected override void OnStop()
{
isRunning = false;
} //服务处理操作,原则是不停的运行的,
//但是在某种错误情况下,这个线程不再无限循环执行
//即退出线程。
//但是这个时候在控制面板-管理-服务控制台上看到的还是运行状态
//怎么在这种情况下,让服务停止呢? 与调用OnStop方法差不多?
public void doListenClientFftScoket()
{
int countter = 1000;
while (isRunning)
{
countter--;
try
{
System.Console.WriteLine(1 / countter);
}
catch
{
return;//结束这个线程***,这个时候想停止这个服务? 即在服务控制台上显示的状态为停止
} Thread.Sleep(1000);
}
}
{
Class1 class1 = null; private bool isRunning;
private Thread fftListenThread; //构造函数
public Service1()
{
InitializeComponent();
class1 = new Class1();
} //服务启动入口
protected override void OnStart(string[] args)
{
isRunning = true;
//启动一个线程
fftListenThread = new Thread(new ThreadStart(doListenClientFftScoket));
fftListenThread.Start();
}
//服务中止入口
protected override void OnStop()
{
isRunning = false;
} //服务处理操作,原则是不停的运行的,
//但是在某种错误情况下,这个线程不再无限循环执行
//即退出线程。
//但是这个时候在控制面板-管理-服务控制台上看到的还是运行状态
//怎么在这种情况下,让服务停止呢? 与调用OnStop方法差不多?
public void doListenClientFftScoket()
{
int countter = 1000;
while (isRunning)
{
countter--;
try
{
System.Console.WriteLine(1 / countter);
}
catch
{
return;//结束这个线程***,这个时候想停止这个服务? 即在服务控制台上显示的状态为停止
} Thread.Sleep(1000);
}
}
http://blog.csdn.net/downmoon/archive/2009/11/05/4771990.aspx