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