Каждый образец, который я видел для nServiceBus, использовал конкретный класс для внедрения свойства IOC. Как мне зарегистрировать интерфейс? В приведенном ниже примере как зарегистрировать ISmtpClient для возврата SmtpClientProxy (созданный мной конкретный класс)?
public class EmailNotificationMessageHandler : IHandleMessages<EmailNotificationMessage>
{
public ISmtpClient Smtp { get; set; }
public void Handle(EmailNotificationMessage message)
{
//this.Smtp = new SmtpClient("localhost", 25);
this.Smtp.SendAsync(message.FromAddress, message.ToAddress, message.Subject, message.Body, message.Id);
}
}
Моя конфигурация выглядит следующим образом, но я не вижу, как конкретный тип (я не хочу Singleton)
Configure.With().CastleWindsorBuilder().JsonSerializer();
Configure.Instance.Configurer.ConfigureComponent<ISmtpClient>(DependencyLifecycle.InstancePerCall);
Кроме того, есть ли способ получить доступ к реальному контейнеру (в моем случае это Виндзор) для выполнения любых других операций регистрации, которые мне нужны?