Вчера я установил исполняемый файл C:\Users\urban\Documents\Visual Studio 2013\Projects\TestService\obj\Release\TestService.exe
в качестве службы в Windows 10, так что теперь он отображается в services.msc
. Затем я начал его, и сообщение об ошибке было похоже наСлужба Windows запущена, а затем остановлена, но нет регистрации
Служба «имя службы» на локальном компьютере началась, а затем остановлена. Некоторые службы автоматически останавливаются, если они не используются другой службой или программами.
Сегодня я вернулся в VS и добавил EventLog и попробовать ... поймать, так что мой код теперь выглядит следующим образом:
internal class TestService : ServiceBase
{
Thread Worker;
AutoResetEvent StopRequest = new AutoResetEvent(false);
Toolkit toolkit;
protected override void OnStart(string[] args)
{
try {
EventLog.Log = "Application";
EventLog.Source = "TestService";
EventLog.WriteEntry("Starting Test Service", EventLogEntryType.Information);
var User = System.Security.Principal.WindowsPrincipal.Current;
toolkit = new ServiceToolkit(User);
Worker = new Thread(DoWork);
Worker.Start();
}
catch (Exception e)
{
EventLog.WriteEntry(e.GetType().Name + ": " + e.Message, EventLogEntryType.Error);
throw;
}
}
Я собирал его и попытался запустить его из services.msc
. Хотя сообщение об ошибке все равно одно и то же, я ожидаю, что служба хотя бы регистрирует, что она была запущена, и какая ошибка была выбрана. Но нада. Перед отправкой службы я очистил протокол приложения «Приложение», и несколько журналов, которые были добавлены в то же время, не являются моей службой.
Что здесь происходит?
ознакомьтесь с https://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx (Пошаговое руководство: создание службы Windows) – Jan18101997
'ServiceBase [] ServicesToRun; TestService ts = new TestService(); ts.AutoLog = true; ServicesToRun = новый ServiceBase [] {ts}; ServiceBase.Run (ServicesToRun); ' –
посмотрите [youtube] (https://www.youtube.com/watch?v=uM9o8GsO_u4) и выполните эти шаги, как создать службу Windows в C#. Я получил эту же ошибку после просмотра этих шагов. Моя ошибка исчезла. –