просмотр зависимостей страницы

Я использую MVC4 и DependencyResolver с Unity. Как на странице блога Брэда Уилсона http://bradwilson.typepad.com/blog/2010/07/service-location-pt3-views.html, я хочу использовать внедрение зависимостей для своих представлений. Но кажется, что механизм просмотра MVC4 не пытается создавать классы страниц просмотра через DependencyResolver. Так ли это, или может я что-то не так делаю? Вот мой код:

public static void Register() {
        var unity = new UnityContainer();
        unity.RegisterType<SpaceProject.Models.SpaceShipEntities>(new RequestLifetimeManager());
        DependencyResolver.SetResolver(new UnityDependencyResolver(unity));

}

public abstract class SharedView : WebViewPage
{
    [Dependency]
    public SpaceProject.Models.SpaceShipEntities Context { set; get; }
}

и мой _Layout.cshtml:

@inherits SharedView
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
<head></head>
    <body>
    @foreach (var menu in Context.Menu) { 
                            <li>
                                <a href="#">@menu.Title</a> |
                            </li>    
                        }
    </body>
    </html>

У меня есть ошибка, что Context имеет значение null.


person user1593294    schedule 14.09.2012    source источник


Ответы (1)


@inherits SharedView не работает в _Layout.cshtml, я думаю, потому что это не представление и не используется как мастер-страница. В представлениях и частичных представлениях все работает идеально.

person user1593294    schedule 17.09.2012