Я новичок в контейнерах DI.Как обновить уже зарегистрированный сервис Castle Windsor
Я использую рамки третьей стороны и имеет класс, как показано ниже
public class PurchaseOrderAppService : IPurchaseOrderAppService, IAutoRegister
{
private readonly IEmail _email;
public PurchaseOrderAppService(IEmail email)
{
_email = email;
}
}
Все классы, наследуемые интерфейс IAutoRegister автоматически регистрируются в рамках третьей стороны. Email класс, как показано ниже
public class Email : IEmail, IAutoRegister
{
public Send(string message)
{
//Send a message
}
}
То, что я хочу, что я хочу класс PurchaseOrderAppService использовать другой класс, называемый MyEmail вместо электронной почты.
public class MyEmail : IEmail
{
public Send(string message)
{
//Send a message another way
}
}
Как я могу обновить уже зарегистрированный сервис с помощью фреймворка?
Спасибо.
Каково название структуры третьей части? Как это работает? –
@YacoubMassad, имя третьей стороны здесь не важно. Я хочу знать, как я могу обновить сервис, уже зарегистрированный в контейнере DI. –
У вас есть доступ к контейнеру? Можете ли вы показать существующие регистрации? –