2010-07-05 29 views
8

Có cách nào để vô hiệu hóa bộ nhớ đệm asp.net trên trang đã chọn không. Nó sẽ được tốt đẹp nếu điều này có thể được thực hiện từ web.config.Tắt ASP.net Cache

Trả lời

9

Có bạn có thể nếu bạn sẵn sàng để tạo ra phần cấu hình của riêng bạn: http://msdn.microsoft.com/en-us/library/2tw134k3.aspx

Trong phần cấu hình của bạn đặt một cái gì đó như thế nào,

<cachingConfig> 
    <path>/Navigation/Menu.aspx</path> 
    <path>/Target/Console.aspx</path> 
    <path>/Target/Charting/Chart.aspx</path> 
</cachingConfig> 

Bạn có thể thêm nhiều thuộc tính hơn như thời lượng nếu bạn muốn.

Sau đó, vào phương pháp page_init các trang của bạn, kiểm tra phần cấu hình này và gọi sau khi thích hợp:

Response.Cache.SetCacheability(HttpCacheability.NoCache) 

Edit: Mẹo: Đặt mã init trong một lớp cơ sở mà trang của bạn kế thừa, vì vậy rằng nó chỉ là một nơi.

11
<!-- In the page itself --> 
<%@ OutputCache Location="None" %> 

Hoặc

// In the code-behind 
Response.Cache.SetCacheability(HttpCacheability.NoCache) 

Thật không may, nó đã được thực hiện trong trang. Không có cách nào dễ dàng để làm điều đó từ web.config. Để biết thêm thông tin, hãy kiểm tra:

MSDN - Setting the Cacheability of a Page

7
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1)); 
Response.Cache.SetCacheability(HttpCacheability.NoCache); 
Response.Cache.SetNoStore(); 
Các vấn đề liên quan