System.Diagnosti c Трассировка не работает с модулями, добавленными через autofa c .config - PullRequest
0 голосов
/ 17 января 2020

Мне нужна помощь с расширением Autofa c .Configuration!

Мы используем Autofa c и Autofa c .Configuration, чтобы добавить все зависимые элементы в нашу программу. Кроме того, мы используем system.diagnositcs Tracing для регистрации вызовов методов и т. Д. c (обычный).

Теперь мы только недавно начали использовать расширение Autofa c .Configuration. До этого все сообщения записывались в выходной файл, как и ожидалось. Однако каждый класс, который только добавлен через файл конфигурации, не будет зарегистрирован вообще. (В целом, они работают нормально, только регистрация не работает!)

Вот как выглядит наш файл конфигурации:

  "components": [
    {
      "type": "MyClass, MyAssembly",
      "services": [
        {
          "type": "MyInterface, MyInterfaceAssembly"
        }
      ],
      "instanceScope": "singleinstance"
    },...

Вот как выглядят наши Tracer-Calls:

private static readonly TraceSource Tracer = new TraceSource("MyCustomName", SourceLevels.Error);

...

Tracer.TraceInformation($"SomeMessage {someInput}");

У кого-нибудь есть идеи, что я делаю неправильно? Или это ошибка в расширении Autofa c .Configuration?

1 Ответ

0 голосов
/ 18 января 2020

Autofa c. Конфигурация ничего не делает с трассировкой. Если вы выполните поиск по источнику , то там даже не будет ссылки на трассировку.

Я предполагаю, что произошло что-то еще. Вещи, на которые я бы посмотрел:

  • Ошибка при преобразовании в конфигурацию: я забыл зарегистрировать класс, который раньше был зарегистрирован? Я зарегистрировал все те же параметры и все, что раньше было кодом? Что-нибудь другое или что я мог пропустить?
  • Не связанные изменения: делал ли я что-то еще во время преобразования в конфигурацию? Был ли другой рефакторинг? Вытащил ли я основной ветвью из своей ветки задач и получил ли кто-то изменения, которые могут повлиять на меня?

К сожалению, вы не включили минимальный воспроизводимый пример , поэтому Никто не может помочь решить проблему здесь. Однако я могу на 100% гарантировать, что трассировка не завершится сбоем из-за ошибки в модуле Autofa c .Configuration. Это будет что-то другое - либо ошибка в созданной вами конфигурации JSON, либо какое-либо другое несвязанное изменение, которое произошло.

...