. Net Внедрение основных зависимостей в библиотеке нескольких классов - PullRequest
0 голосов
/ 11 января 2020

Ниже приведена архитектура, которую я хочу достичь sh, однако я не уверен относительно того, как go узнать об этом. Примечание. В настоящее время я обновляю решения своей компании с Net MVC 4,7 до Net Core 3.1, поэтому я открыт для предложений.

Базовое веб-приложение (WebA)

  • Основной сайт
  • Предназначен для регистрации LibA, LibB и LibXYZ в качестве службы.

Библиотека / Утилита (LibA)

  • Эта библиотека используется на нескольких сайтах (10 +)
  • Имеет CompanyDbContext для базовых операций, таких как пользователи, форумы, приложения и т. Д. c.
  • Содержит общие операции и / или утилиты.

Libary Auth (LibB)

  • Содержит ряд утилит для проверки прежде всего пользовательские разрешения.
  • Для работы этой библиотеки требуется LibA.

Библиотечный модуль "Project Specifi c" (LibXYZ)

  • Содержит спецификация проекта c DbContext, который использует userId из LibA's DbContext.
  • Эта библиотека требует LibA для функционирования

Моя проблема в том, что я могу легко получить доступ к различным библиотекам из контроллеров WebA через инъекции зависимости. Однако мне нужно внедрить LibA в LibB и LibXYZ, где и возникает проблема.

Я мог бы просто переместить DbContext в WebA, однако это вызывает серьезные штрафы, когда происходит изменение в контексте для ProjectA, поскольку затем его необходимо смягчить и во всех других проектах. В то время как с текущей настройкой я сохраняю разумное «Разделение проблем».

Если бы я просто создал экземпляр LibA в ie LibB, это означало бы, что LibA будет создаваться несколько раз во время запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...