У меня есть служба Windows. Он работал нормально, пока я не добавил код для начала ведения журнала. Теперь, когда я пытаюсь запустить службу, я получаю следующую ошибку:
Служба GBBService на локальном компьютере была запущена, а затем остановлена. Некоторые службы останавливаются автоматически, если им нечего делать, например, журналы производительности и служба предупреждений.
Вот код моей службы: - Из установщика проекта.
public partial class ProjectInstaller : System.Configuration.Install.Installer
{
string eventSource = "GBBServiceLog";
public ProjectInstaller()
{
InitializeComponent();
EventLogInstaller installer = FindInstaller(this.Installers);
if (installer != null)
{
installer.Source = eventSource;
installer.Log = "My GBBServiceLog";
}
}
private EventLogInstaller FindInstaller(InstallerCollection installers)
{
foreach (Installer installer in installers)
{
if (installer is EventLogInstaller)
{
return (EventLogInstaller)installer;
}
EventLogInstaller eventLogInstaller = FindInstaller(installer.Installers);
if (eventLogInstaller != null)
return eventLogInstaller;
}
return null;
}
protected override void OnCommitted(IDictionary savedState)
{
base.OnCommitted(savedState);
// Start the service after installation
using (ServiceController sc = new ServiceController(this.serviceInstaller1.ServiceName))
{
sc.Start();
}
}
}
Изнутри моей службы:
public GBBService()
{
InitializeComponent();
EventLog.Source = eventSource;
EventLog.Log = "My GBB Service Log";
}
protected override void OnStart(string[] args)
{
EventLog.WriteEntry("GBBService Service Started");
}
Я что-то не так сделал в своем коде?
My GBBServiceLog
в установщике и в Сервисе, который вы собираетесь писать вMy GBB Service Log
- person sa_ddam213   schedule 25.03.2013My GBB Service Log
не существует, поэтому вам нужно создать его в службе или использовать тот, который вы создали в установщике. - person sa_ddam213   schedule 25.03.2013