Неясный вопрос MVC и Касл Виндзор. сожалею - PullRequest
0 голосов
/ 11 мая 2010

Я унаследовал некоторый код, в котором все классы контроллера MVC получают свои конструкторы, вызываемые Castle .... DefaultProxyFactory.Create () где-то вдоль строки (стек вызовов выпадает до <external code>, что не помогает.)

Итак, в общем, как мне узнать, где Каслу говорят, как вызывать конструкторы моих контроллеров?

Я новичок в Касле, Виндзоре, МикроКернеле и т. Д., И не являюсь мастером MVC в ASP.

Большое спасибо за любые указатели - извините за неопределенность,

Мэтт.

1 Ответ

1 голос
/ 11 мая 2010

В этой статье подробно объясняется жизненный цикл контроллера ASP.NET MVC, в том числе когда вызывается ControllerFactory и как подключить контейнер IoC. StructureMap используется в этой статье, но вместо него может использоваться любой контейнер IoC.

В вашей ControllerFactory Виндзор подбирает и создает экземпляр фактического контроллера, как объяснено в статьях, прокомментированных Кшиштофом:

Если вы видите ссылку на DefaultProxyFactory.Create(...) в трассировке стека, это означает, что создается прокси. Фабрика прокси по умолчанию в Виндзоре DynamicProxy . Вы можете узнать об этом в учебнике Кшиштофа .

...