我正在关注克里斯·彼得施曼(Chris Pietschmann)的solution for theming in ASP.NET MVC。
我注意到的一件事是,在后续请求中没有从ViewLocationCache中检索 View 名称。 我正在使用ASP.NET MVC 2.0 RC
当执行以下代码时:
this.ViewLocationCache.InsertViewLocation(controllerContext.HttpContext, cacheKey, virtualPath);
并且将鼠标悬停在this.ViewLocationCache上,它仅返回{System.Web.Mvc.NullViewLocationCache}-建议未添加任何内容?
最佳答案
默认情况下,ViewLocationCache
仅在 Release模式下有效(在<compilation debug="false">
中设置web.config
)。
要在 Debug模式下启用ViewLocationCache
:
在继承自WebFormViewEngine
的自定义 View 引擎中,在ViewEngine的构造函数中设置ViewLocationCache
,如下所示:
public MyCustomViewEngine()
{
ViewLocationCache = new DefaultViewLocationCache();
}
如果愿意,您也可以覆盖默认的缓存时间跨度值。
关于asp.net - ASP.NET MVC ViewEngine ViewLocationCache.GetViewLocation返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2127030/