O Autofac pode injetar dependências em arquivos de visualização de layout?
Eu estou tentando injetar uma dependência na página de exibição de layout compartilhado para evitar ter que fazê-lo em cada exibição que usa o layout.
Eu segui oorientação no wiki para injetar dependências em visualizações, mas a propriedade é sempre nula.
O Autofac pode injetar propriedades em uma página de exibição personalizada que seja um arquivo de layout?
Aqui está minha configuração. CustomViewPage
namespace MyApp
{
using System.Web.Mvc;
public abstract class CustomViewPage : WebViewPage
{
public IHelper Helper { get; set; }
}
}
~ / Views / Shared / _Layout.cshtml
@inherits MyApp.CustomViewPage
<!DOCTYPE html>
<html>
...
@if(this.Helper.HasFoo()){@Html.ActionLink("Bar")}
Registro Global ...
builder.RegisterType<Helper>().AsImplementedInterfaces();
builder.RegisterModelBinderProvider();
builder.RegisterFilterProvider();
builder.RegisterModule(new AutofacWebTypesModule());
builder.RegisterSource(new ViewRegistrationSource());
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
As exibições "filho" que usam o layout NÃO derivam do CustomViewPage.