У меня есть простой структуры классов, интерфейсов следующим образом:конфигурации Unity с наследованием
public interface IMessagingClient (interface supporting service bus queue operation)
public class ServiceBusMessagingClient : IMessagingClient (real implementation)
public class MockMessagingClient : IMessagingClient (mock implementation for our unit test)
public class FailoverMessagingClient : IMessagingClient (this implementation internally uses 2 clients and switches roles b/w 2 as and when disaster in a datacenter occur)
{
private IMessagingClient PrimaryClient { get; set; }
private IMessagingClient SecondaryClient { get; set; }
}
Мы загружаем единство конфигурации из web.config/app.config и использовать его в коде продукта и тестового кода.
Мы хотим, чтобы следующее:
Для сценария производства, PrimaryClient и SecondaryClient должны типа ServiceBusMessagingClient
Для тестирования сценария, PrimaryClient и SecondaryClient должны типа MockMessagingClient
Наш текущая конфигурация конфигурации выглядит так:
<container name="azure">
<register type="IMessagingClient" mapTo="FailoverMessagingClient"/>
</container>
Нужно ли использовать некоторые перехватчики для достижения этого? Или, определяя ctor в FailoverMessagingClient и используя ctor injection?
Некоторые предложения были бы замечательными!