2
autofac我有这个类:如何参数传递到使用RegisterType和控制器工厂
public class MessageService
{
private readonly IMessageSender messageSender;
public MessageService(IMessageSender messageSender)
{
this.messageSender = messageSender;
}
}
如何注册autofac通过内部构造函数的参数:
var builder = new ContainerBuilder();
builder.RegisterControllers(typeof(MvcApplication).Assembly);
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
builder.RegisterType<MandrillMessageSender>().As<IMessageSender>();
builder.RegisterType<MessageService>(new MandrillMessageSender()); // NOTE THIS STRING IS NOT WORKING
所以结果应该这样工作,当我在控制器构造函数中传递参数时,应该使用插入的MandrillMessageSerder创建messageService对象。
public Home(MessageService messageService)
谢谢你的朋友!刚刚尝试过,它完美的工作!事实上,我在注册令中犯了一个愚蠢的错误。之前我没有使用自动执行,所以这就是为什么困惑!再次感谢你:) – Sergey 2013-02-17 13:52:32