【发布时间】:2014-09-17 14:13:43
【问题描述】:
我在 ASP.NET MVC 项目中设置了 MVC SiteMap Provider 以呈现下拉菜单。我将其配置为使用安全修剪
<add key="MvcSiteMapProvider_SecurityTrimmingEnabled" value="true"/>
它按预期工作,即在菜单中不显示用户无权访问的节点。但是,我正在调试应用程序,我可以看到每次重新加载页面时,AuthorizeAttribute 中的断点都会被命中 X+1 次,其中 X 是菜单中呈现的节点数(+1 是实际的HTTP 请求)。
默认情况下,缓存持续时间参数设置为 5 分钟。我也尝试在 Web.config 中显式设置参数(以防万一)
<add key="MvcSiteMapProvider_CacheDuration" value="60" />
似乎没有在安全上下文中启用缓存。
我saw this old post (from 2010) 说要实现缓存。谁能告诉我现在怎么样了?
谢谢。
【问题讨论】:
标签: c# asp.net-mvc mvcsitemapprovider