MVCSiteMapProvider переопределяет GetDynamicNodeCollection с несколькими запросами

Я использую MVCSiteMapProvider для MVC5. Я создал свою собственную реализацию DynamicNodeProviderBase для динамического создания узлов в карте моего сайта на основе коллекции категорий для нашего каталога продуктов.

Я использую SimpleInjector и имею MvcSiteMapProviderContainerInitializer, который я извлекаю из примера проекта для поставщика карты сайта. Это работает нормально.

Однако при вызове Html.MvcSiteMap().SiteMapPath() это приводит к вызову GetDynamicNodeCollection для каждого запроса. Может ли сбор динамических узлов выполняться один раз за время существования контейнера, а не для каждого запроса?

заранее спасибо

1 ответ

Реализованный мною класс фактически создается как одноэлементный, поэтому на данный момент я инициализировал коллекцию узлов из конструктора. Это будет делать сейчас.

Тем не менее, я видел этот пост в блоге с 2012 года, но интерфейс, кажется, изменился в более поздних версиях поставщика, так что это больше невозможно

http://xharze.blogspot.co.uk/2012/04/inside-mvcsitemapprovider-part-2.html?m=1

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