IControllerFactory.CreateController вызывается для каждого контроллера в каждом запросе

У меня есть проблема, которая, хотя и не является критической, все же привлекла мое внимание. У меня есть веб-приложение MVC4, в котором я заменил фабрику контроллеров по умолчанию на реализованную мной самостоятельно, в рамках этой фабрики я использую Unity, чтобы ввести параметры конструктора для контроллера.

Я не понимаю, почему для каждого запроса, который я делаю, метод CreateController вызывается для каждого контроллера в приложении, а не только для одного в URL-адресе и для тех, которые вызываются частичными представлениями.

Это нормальное поведение? Это необходимо или есть способ предотвратить это? Я не вижу причин для этого, и мое исследование не привело меня к какому-либо хорошему ответу.

Спасибо!

1 ответ

Решение

Ха! Оказывается, что когда вы используете решение mvc sitemap, он собирает каждый контроллер для каждого запроса, удаляя эту строку, что странное поведение больше не происходит

@Html.MvcSiteMap().SiteMapPath()

В любом случае, спасибо тем, кто прочитал это, и я надеюсь, что кто-то найдет это полезным!

Другие вопросы по тегам