структура структуры aspnetcore, ограниченная для каждого запроса - PullRequest
0 голосов
/ 28 августа 2018

Я использую StructureMap (но этот вопрос больше основан на DI), если ответ может быть получен через другого разработчика, он будет рассмотрен.

x.For<ITTLogger>().Use< TTLogger>().Ctor<TTLoggerConfiguration>().Is(()=>ttlConfig).ContainerScoped();

У меня есть специальный регистратор, который я пометил как область действия для httpRequest, который работает нормально. После этого я добавил correlationId, который входит в API через заголовок http-запроса.

с aspnetcore, теперь к значениям заголовка можно обращаться напрямую из конечной точки, как, например,

[FromHeader] string ttcorrelationId

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

Logger.SetCorrelationId(Guid.Parse(correlationId));

так, как сейчас, каждый запрос, который приходит в конечные точки API, имеет в заголовке значение корреляции, он устанавливает значение регистратора, но когда регистратору нужен другой класс, значение correlationId больше не устанавливается.

Мой вопрос заключается в том, есть ли способ установить correlationId на Logger за пределами конфигурации DI при запуске, когда еще слишком рано получать значения заголовка, чтобы у всех последующих классов, которым нужен регистратор, был установлен correlationId?

...