У меня есть простой частичный вид, который я просматриваю в своем основном представлении с помощью:
@Html.Action("All", "Template")
На моем контроллере у меня есть это:
[OutputCache(CacheProfile = "Templates")]
public ActionResult All()
{
return Content("This stinks.");
}
И в моей конфигурации это:
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<clear/>
<add name="Templates" duration="3600" varyByParam="none"/>
</outputCacheProfiles>
</outputCacheSettings>
<outputCache enableOutputCache="false" enableFragmentCache="false" />
</caching>
Это приведет к сбою во время выполнения с исключением:
Ошибка выполнения дочернего запроса для обработчика 'System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper
И внутреннее исключение:
Продолжительность должна быть положительным числом
Теперь, очевидно, он не подбирает мои настройки web.config, потому что если я его сменил на:
[OutputCache(Duration = 3600)]
Он будет работать, но также заметьте в моем web.config, я отключил enableOutputCache и enableFragmentCache, но не соблюдает эти настройки.
Любопытно, что в нормальном режиме эти настройки работают нормально, так что же это о частичных представлениях, которые нарушают это? Я что-то упускаю? Гу говорит, что это должно работать нормально... Короче говоря, он должен соблюдать настройки кэширования в web.config, а если нет, то почему?