Ошибка регистрации ASP.Net Core 1. Невозможно найти описание события с идентификатором xxxx из исходного приложения.C#

Место общения программистов C#
Ответить
Anonymous
 Ошибка регистрации ASP.Net Core 1. Невозможно найти описание события с идентификатором xxxx из исходного приложения.

Сообщение Anonymous »

Я хотел бы выполнить запись в журнал событий Windows из метода контроллера приложения ASP.Net Core.

У меня проблема в том, где я ожидаю информацию журнала должно быть записано, я продолжаю получать журнал ошибок/информации:


Описание для идентификатора события xxxx из исходного приложения невозможно
найти. Либо компонент, вызывающий это событие, не установлен
на вашем локальном компьютере, либо установка повреждена. Вы можете
установить или отремонтировать компонент на локальном компьютере.

Если событие возникло на другом компьютере, отображаемую информацию
необходимо было сохранить. с событием.

С событием была включена следующая информация:

My.Fully.Qualified.Namespace .WebApi.Controllers.MyController Ошибка
произошла в методе «MyMethod»

ресурс сообщения присутствует, но сообщение не найдено в строке
/message table


В качестве краткого примечания: до .Net Core я всегда решал подобную ошибку, создавая источник событий с помощью Powershell или Command или правильная настройка блока Microsoft.Practices.EnterpriseLibrary.Logging Application или другой сторонней библиотеки

Я использовал следующий подход:

После установки пакетов Nuget: Microsoft.Extensions.Logging.Abstractions и Microsoft.Extensions.Logging я указываю поставщика EventLog в блоке кода Start Configuration.

Код: Выделить всё

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory
.AddDebug()
.AddEventLog();

//... rest of the code here
}
Для каждого контроллера используйте подход ILogger:

Код: Выделить всё

public class MyController : Controller
{
private readonly IMyRepository _myRepository;
private readonly ILogger _logger;

public MyController(IMyRepository myRepository,
ILogger logger)
{
_myRepository = myRepository;
_logger = logger;
}

public bool MyMethod(MyRequestObject request)
{
try
{
var response = privateDoSomethingMethod(request);

return response.Success;
}
catch (Exception ex)
{
_logger.LogError(6666,ex, "Error occured when doing stuff.");

return false;
}
}
Это основано на официальной документации по ведению журнала.

Что я прочитал и попробовал:
  • Невозможно найти описание идентификатора события из источника.
  • Ошибка IIS -2147024809 при попытке запустить приложение .NET CORE.
  • При запуске веб-приложения ASP.NET 5 MVC 6 в IIS 8.5 я получаю HTTP500 и событие 1001 для HttpPlatformHandler
  • I​Logger Интерфейс
  • Учебное пособие по ведению журнала ASP.NET Core – что все еще работает, а что изменилось?


Подробнее здесь: https://stackoverflow.com/questions/458 ... source-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»