Установка источника событий для приложения ASPNET Core 2.2 webapi - PullRequest
2 голосов
/ 27 июня 2019

Мне нужна помощь в понимании того, что необходимо сделать для развертывания приложения webapi с ядром aspnet на сервере, чтобы приемник событий был правильно установлен без необходимости запуска приложения от имени администратора.

В среде разработкиVisual Studio, работающая от имени администратора, может запустить мое приложение webapi ядра aspnet, позволяющее ему создавать приемник событий на локальном компьютере.После создания приемника событий приложение будет регистрировать события, даже если приложение не запускается с правами администратора.

Когда приложение публикуется на тестовом сервере и работает под управлением IIS, приложение не загружается, есливедение журнала настроено на создание источника событий, если он отсутствует на локальном компьютере.

Я использую Serilog с расширением Serilog.Sinks.EventLog.

Когда для manageEventSource задано значение true, приложениене загружается, потому что не может создать источник события.Когда для manageEventSource задано значение false, приложение загружается правильно, но события не отправляются в EventLog.

        Log.Logger = new LoggerConfiguration()
          .MinimumLevel.Debug()
          .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
          .Enrich.FromLogContext()
          .WriteTo.Console()
          .WriteTo.File("webservices-log.txt", rollingInterval: RollingInterval.Day)
          .WriteTo.EventLog("WebServices", manageEventSource: false, restrictedToMinimumLevel: LogEventLevel.Error)
          .CreateLogger();

Когда публикация Visual Studio завершена, мне нужно запустить приложение и зарегистрировать ошибки в журнале событий, но еслиприемник событий еще не установлен, приложение завершается ошибкой, если не указано игнорировать шаг создания.Как я могу обновить шаг публикации, чтобы установить приемник событий на целевой машине, или Что мне нужно сделать, чтобы вручную вмешаться перед публикацией на цель?

...