У меня есть простой частичный вид, который я просматриваю в своем основном представлении с помощью:
 @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, а если нет, то почему?
