Я создал службу Windows, которая создает форму, в которой для управления соке создается значок панели инструментов. Я могу установить через установщик, созданный в Visual Studio, но когда я иду в Службы и запускаю свой сервис, он дает мне сообщение об ошибке, когда он начал и остановился немедленно.Windows Service start, затем немедленно останавливается
Вот код услуги:
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: Я проверил форму и она работает просто отлично.
Что необходимо войти событие разгласить? –
Это обычно означает, что при запуске службы происходит ошибка. У вас также есть пустая попытка ... поймать. Может быть ошибка, которую вы глотаете, и вам нужно зафиксировать эту ошибку, чтобы узнать, что это такое. Обычно я использую текстовый файл для захвата этих ошибок, так как вы действительно не можете видеть ошибки из службы. –
Обычно службы Windows не имеют пользовательских интерфейсов, и Microsoft настоятельно рекомендует, чтобы они этого не сделали. См. Http://msdn.microsoft.com/en-us/library/ms683502%28v=vs.85%29.aspx – hatchet