我正在关注克里斯·彼得施曼(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/

10-12 19:20