我创建了一个Windows服务,它创建一个窗体,在其中创建了一个工具栏图标来管理套接字。我能够通过Visual Studio创建的安装程序进行安装,但是当我转到“服务”并启动我的服务时,它会给我一个错误,指出它已经启动并立即停止。
以下是服务代码:
以下是服务代码:
public Service()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
base.OnStart(args);
ServiceName = "WizardServer";
CanPauseAndContinue = false;
CanHandleSessionChangeEvent = true;
CanStop = true;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
try
{
connectionHandler = new ConnectionHandler();
serviceThread = new System.Threading.Thread(new ThreadStart(serviceTarget));
alive = true;
serviceThread.Start();
}
catch {}
}
private void serviceTarget()
{
Application.Run(new Form1(connectionHandler));
while (alive)
{
Thread.Sleep(10000);
}
}
protected override void OnStop()
{
base.OnStop();
try
{
connectionHandler.stop();
}
catch {}
serviceThread.Abort();
alive = false;
Stop();
}
PS:我已经测试过这个表单,它可以正常工作。