ASP.NET MVC ViewEngine ViewLocationCache.GetViewLocation возвращает ноль - PullRequest
6 голосов
/ 24 января 2010

Я следую решению Криса Питшмана для создания тем в ASP.NET MVC .

Одна вещь, которую я заметил, это то, что имя представления не извлекается из ViewLocationCache при последующих запросах. Я использую ASP.NET MVC 2.0 RC

Когда выполняется следующий код:

this.ViewLocationCache.InsertViewLocation(controllerContext.HttpContext, cacheKey, virtualPath);

и я наведите курсор на это. ViewLocationCache, он просто возвращает {System.Web.Mvc.NullViewLocationCache} - предполагая, что ничего не было добавлено?

1 Ответ

10 голосов
/ 27 января 2010

ViewLocationCache по умолчанию работает только в режиме разблокировки (настройка <compilation debug="false"> в web.config).

Чтобы включить ViewLocationCache в режиме отладки:
В пользовательском механизме просмотра, который наследует от WebFormViewEngine, установите ViewLocationCache в конструкторе ViewEngine следующим образом:

public MyCustomViewEngine()
{
    ViewLocationCache = new DefaultViewLocationCache();
}

Вы также можете переопределить значения временного интервала кэша по умолчанию, если хотите.

...