Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ASP.NET MVC Урок 1-F / ASP.NET MVC Урок 2

.pdf
Скачиваний:
45
Добавлен:
09.03.2016
Размер:
243.35 Кб
Скачать

`

«

SULYDWH VWDWLF YRLG 5HJLVWHU6HUYLFHV,.HUQHO NHUQHO

^

NHUQHO %LQG ,:HDSRQ! 7R %D]XND!

`

В контроллере используем атрибут >,QMHFW@:

SXEOLF FODVV +RPH&RQWUROOHU &RQWUROOHU

^

>,QMHFW@

SXEOLF,:HDSRQ ZHDSRQ ^JHW VHW`

SXEOLF $FWLRQ5HVXOW,QGH[

^

UHWXUQ9LHZ ZHDSRQ

`

`

Изменяем View:

#PRGHO /HVVRQ3URMHFW 0RGHOV ,:HDSRQ

#^

9LHZ%DJ 7LWOH /HVVRQ3URMHFW

/D\RXW a 9LHZV 6KDUHG B/D\RXW FVKWPO

`

K!/HVVRQ3URMHFWK!

S! #0RGHO .LOOS!

На выходе получаем:

Ninject использует WebActivator:

регистрирует свои модули OnePerRequestHttpModule и NinjectHttpModule

создает StandartKernel

инициализирует наши сервисы.

DependencyResolver

В asp.net mvc3 появился класс DependencyResolver. Этот класс обеспечивает получение экземпляра сервиса. Наши зарегистрированные сервисы (и даже используемый DI­контейнер) мы также можем получить посредством этого класса.

SXEOLF FODVV +RPH&RQWUROOHU &RQWUROOHU

^

SULYDWH,:HDSRQ ZHDSRQ ^JHW VHW`

SXEOLF +RPH&RQWUROOHU

^

ZHDSRQ 'HSHQGHQF\5HVROYHU &XUUHQW *HW6HUYLFH ,:HDSRQ!

`

SXEOLF $FWLRQ5HVXOW,QGH[

^

UHWXUQ9LHZ ZHDSRQ

`

`

Итог

Использование DI­контейнеров в современных приложениях необходимо, чтобы избавиться от сильной связности кода, и для легкого доступа из любой его части к сервисам. Также, это необходимо для написания Unit­тестов.

Все исходники находятся по адресу https://bitbucket.org/chernikov/lessons

Соседние файлы в папке ASP.NET MVC Урок 1-F