Autofac - Как разрешить экземпляры, зарегистрированные с использованием конфигурации JSON

Наше требование - иметь разные экземпляры Logger для разных пользовательских потоков.

{
  "defaultAssembly": "Framework",
  "components": [
{
  "type": "SynapseMiddleware.Core.Framework.LoggerServicePerContext, Framework",
  "services": [
    {
      "type": "SynapseMiddleware.Core.Framework.ILoggerServicePerContext, Framework"
    }
  ],
  "parameters": {
    "loggerConfig": "18105"
  }
},
{
  "type": "SynapseMiddleware.Core.Framework.LoggerServicePerContext, Framework",
  "services": [
    {
      "type": "SynapseMiddleware.Core.Framework.ILoggerServicePerContext, Framework"
    }
  ],
  "parameters": {
    "loggerConfig": "18122"
  }
}

]}

Я создал этот JSON и зарегистрировал его как модуль, чтобы для каждого из значений была индивидуальная регистрация - 18122 и 18105. Но я не понимаю, как мне разрешить их во время выполнения и где именно.

Я создал 2 папки, но регистратор не пишет в свой файл, он также пишет в другой файл. короче говоря, экземпляр, который я получаю путем разрешения, не является экземпляром для этого конкретного значения.

Если я вставлю это в конструктор, только 18105 будет решен.

Может ли кто-нибудь помочь, пожалуйста!

Спасибо!

1 ответ

Вы регистрируете два экземпляра одного и того же типа сервиса и решаете только один - по типу - так, что вы говорите, ожидается. Вы не сможете делать то, что вы хотите через конфигурацию, как это.

Проверьте эти документы:

Другие вопросы по тегам