tôi có một cái nhìn cục bộ đơn giản mà tôi đang vẽ trong giao diện chính của tôi với:Asp.Net MVC 3 phần trang Output Caching Không Tôn vinh Config Cài đặt
@Html.Action("All", "Template")
On điều khiển của tôi, tôi có điều này:
[OutputCache(CacheProfile = "Templates")]
public ActionResult All()
{
return Content("This stinks.");
}
Và trong cấu hình của tôi này:
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<clear/>
<add name="Templates" duration="3600" varyByParam="none"/>
</outputCacheProfiles>
</outputCacheSettings>
<outputCache enableOutputCache="false" enableFragmentCache="false" />
</caching>
này sẽ thất bại khi chạy với ngoại lệ:
Lỗi thực thi yêu cầu đứa trẻ cho trình xử lý 'System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper
Và ngoại lệ bên trong:
Thời gian phải là một số dương
Bây giờ rõ ràng là nó không chọn cài đặt web.config của tôi, bởi vì nếu tôi thay đổi nó thành:
[OutputCache(Duration = 3600)]
Nó sẽ làm việc, nhưng cũng thông báo trong web.config của tôi, tôi tắt enableOutputCache và enableFragmentCache, nhưng đó không tuân thủ các thiết lập này.
Thật kỳ lạ, trong chế độ xem bình thường, các cài đặt này hoạt động tốt, vì vậy điều gì về lượt xem một phần là vi phạm điều này? Tui bỏ lỡ điều gì vậy? The Gu says this should work just fine... Tóm lại, nó có phải là để tôn trọng cài đặt bộ nhớ đệm trong web.config và nếu không, tại sao không?
Bản sao: http://stackoverflow.com/questions/4728958/chaching-childactions-using-cache-profiles-wont-work – frennky
Chúng giống nhau, nhưng tôi nói về vấn đề lớn hơn của tôi là nó không không tôn trọng bất kỳ cài đặt nào giống như thực tế là bộ nhớ cache đầu ra bị tắt. –