Наследование другого класса для рабочей области

#c# #oop #.net-core

#c# #ооп #.net-ядро

Вопрос:

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

 public class Auth: StagingAuthProvider
{
/* code goes here*/
}
  

но каждый раз, когда я развертываю в рабочей среде, мне приходится вручную заменять StagingAuthProvider на ProductionAuthProvider

 public class Auth: ProductionAuthProvider
{
/* code goes here*/
}
  

кроме того, у меня есть переменная flag в appsetting

 "IsStaging": true
  

чего я хочу, так это когда я создаю

 "IsStaging": false
  

Класс аутентификации должен автоматически наследовать класс

 ProductionAuthProvider 
  

Интересно, как достичь этого сценария.

Комментарии:

1. Переместите базовые функции из базового класса в отдельный сервис, и вы зарегистрируете правильный в соответствии с флагом. Auth теперь не наследуется от *AuthProvider , но имеет его как зависимость (которая будет разрешена во время выполнения).

2. Какую среду внедрения зависимостей вы используете?

3. @CodeCaster .net core

4. Возможно, эта страница может быть вам полезна: Используйте несколько сред в ASP.NET Ядро ?