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