Как программно зарегистрировать расширения Nlog / средства визуализации макетов (NLog.Web.AspNetCore)? - PullRequest
1 голос
/ 18 июня 2019

Здесь есть руководство , в котором для регистрации NLog для ASP.Net Core используется файл конфигурации.Я следовал за этим, но я хотел бы настроить вещи программно.В основном все работает, но я не могу заставить работать визуализаторы компоновки ASP.Net Core.Они работают, если я регистрирую их сам так:

LayoutRenderer.Register("aspnet-request-url", typeof(AspNetRequestUrlRenderer));

Я вижу, что в конфигурации файла есть раздел для этого:

<!-- enable asp.net core layout renderers -->
<extensions>
   <add assembly="NLog.Web.AspNetCore"/>
</extensions>

Но я не могу понять, как это сделатьэто программно для всех средств визуализации, которые находятся в этой сборке.

1 Ответ

2 голосов
/ 18 июня 2019

Вы можете сделать это следующим образом:

ConfigurationItemFactory.Default.RegisterItemsFromAssembly(assembly);

Так что для NLog.Web.AspNetCore:

var assembly = typeof(AspNetRequestUrlRenderer).Assembly;
ConfigurationItemFactory.Default.RegisterItemsFromAssembly(assembly);
...