有没有办法使 MvcSiteMap 上的缓存失效或以某种方式刷新缓存
目前,我有一个 MvcSiteMap 与我的 ASP.Net MVC 应用程序集成。我需要能够使缓存无效或刷新缓存以强制读取 MvcSiteMap。目前它的缓存在 web.config 中设置为 X 分钟。
如果我能以某种方式强制刷新,那就太好了。
Currently I have an MvcSiteMap integrated with my ASP.Net MVC app. I need to be able to invalidate or refresh the cache to force a read of the MvcSiteMap. Currently it's cache is set in the web.config to X minutes.
It would be nice if I could somehow force a refresh.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在 web.config 中指定一个“CacheKey”,MvcSiteMap 将使用它作为 Http 缓存键名。
然后,在您的 Web 应用程序中,只需使密钥过期或从缓存中删除即可。 MvcSiteMap 有一个回调,用于重建地图。
查看源代码 http://mvcsitemap.codeplex.com/SourceControl/changeset/view/b5a6d902d512#Source%2fsrc%2fMvcSiteMapProvider%2fMvcSiteMapProvider%2fDefaultSiteMapProvider.cs - 搜索cacheKey
You can specify a 'CacheKey' in your web.config which MvcSiteMap will use as the Http Cache keyname.
Then, in your web app, just expire or remove the key from cache. MvcSiteMap has a callback it uses to rebuild the map.
Check out the source code at http://mvcsitemap.codeplex.com/SourceControl/changeset/view/b5a6d902d512#Source%2fsrc%2fMvcSiteMapProvider%2fMvcSiteMapProvider%2fDefaultSiteMapProvider.cs - search for cacheKey