Tôi đang cố gắng sử dụng hồ sơ bộ nhớ cache để lưu vào bộ nhớ cache các hành động con trong ứng dụng mvc của tôi, nhưng tôi nhận được ngoại lệ: Thời lượng phải là số dương.Caching ChildActions sử dụng cấu hình bộ nhớ cache sẽ không hoạt động?
web.config của tôi trông như thế này:
<caching>
<outputCache enableOutputCache="true" />
<outputCacheSettings>
<outputCacheProfiles>
<add name="TopCategories" duration="3600" enabled="true" varyByParam="none" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
Và hành động con tôi một cái gì đó như thế này:
[ChildActionOnly]
[OutputCache(CacheProfile = "TopCategories")]
//[OutputCache(Duration = 60)]
public PartialViewResult TopCategories()
{
//...
return PartialView();
}
Bên trong một cái nhìn tôi chỉ cần gọi @Html.RenderAction("TopCategories", "Category")
Nhưng tôi nhận được một lỗi : Chi tiết ngoại lệ: System.InvalidOperationException: Thời lượng phải là số dương.
Nếu tôi không sử dụng hồ sơ bộ nhớ cache, nó hoạt động. Có một ý tưởng là vấn đề gì?
Cám ơn câu trả lời của bạn :) – frennky
Dưới đây là một bài viết tốt đẹp mà giải thích vấn đề này: http://www.dotnetcurry.com/ShowArticle.aspx?ID=665 – frennky
tôi cố định này và gửi một yêu cầu kéo ngày hôm nay: http://aspnetwebstack.codeplex.com/SourceControl/network/forks/ssmith/OutputCacheAttributeBugfix/contribution/4100 cũng như viết một bài viết về cách tự khắc phục sự cố này (thông qua yêu cầu kéo) ngoài việc chỉ bình luận về nó trên SO: http://ardalis.com/how-to-contribute-to-aspnet-yourself – ssmith