我正在使用MVCSiteMapProvider for MVC5。我创建了自己的DynamicNodeProviderBase实现,以根据产品目录的类别集合在我的站点地图中动态创建节点。
我正在使用SimpleInjector并拥有一个MvcSiteMapProviderContainerInitializer,我从站点地图提供程序的示例项目中提取。这很好。
但是,当调用Html.MvcSiteMap()。SiteMapPath()时,每次请求都会调用GetDynamicNodeCollection。动态节点集合可以在容器的每个生命周期内完成一次,而不是基于每个请求吗?
提前致谢
答案 0 :(得分:0)
我实现的类实际上是作为单例创建的,所以现在我已经在构造函数中初始化了nodes集合。现在就行了。
但是,我在2012年看到了这篇博客文章,但是在提供商的更高版本中界面似乎已经改变,所以这已不再可能了
http://xharze.blogspot.co.uk/2012/04/inside-mvcsitemapprovider-part-2.html?m=1