Получение «… уже зарегистрировано…» из EventLog.CreateEventSource, хотя я проверяю! EventLog.SourceExists
Мой следующий код не работает с «... уже был зарегистрирован как источник на локальном компьютере», хотя я делаю проверки в первую очередь:
lock ( eventLock )
{
string eventLog = Constants.EventLogPL;
string eventSrc = Constants.EventSrcPL;
if (!EventLog.Exists(eventLog))
{
if (!EventLog.SourceExists(eventSrc))
{
try
{
EventLog.CreateEventSource(eventSrc, eventLog);
}
catch (Exception e)
{
System.Diagnostics.Debug.WriteLine(e.Message);
}
}
}
}
Я бы подумал, что мой звонок!EventLog.SourceExists
было бы достаточно, чтобы предотвратить мою ошибку! Я на 2010 .NET 4 и Windows 7 64 компилируется на любом процессоре.
Редактировать: Обновленный код, позволяющий константам получать данные о том, что они не меняются, и использовать блокировку, чтобы гарантировать, что только один поток может протестировать и создать. Код все еще не работает с той же ошибкой