2015-02-09 45 views
0

我有一個服務器控件,它有很多控件。這些控件的數據源每天刷新一次。我想將整個控件緩存24小時,並且只要控件的數據源被刷新,我也想刷新服務器控件。我知道在OutputCache標記下有一個緩存持續時間屬性,但這不會對我有用。有沒有一種方法可以讓我在每天早上6點緩存服務器控制。使用內存中緩存也不是我的選擇。在指定時間緩存ASP.NET服務器控件

感謝 維傑

+0

您可以使用數據庫來存儲緩存的服務器控件,並在每24小時後更新它們。 – 2015-02-09 06:11:40

+0

是否有任何其他方式這樣做,而不是緩存數據庫中的服務器控件 – Vijay 2015-02-09 11:05:30

+0

如果您不想使用內存緩存,那麼它是唯一可用的選項(不確定)。 – 2015-02-09 11:26:26

回答

0

要緩存整個控制/頁,你應該選擇輸出緩存。要使用它,添加此指令,並設置緩存持續時間以分鐘爲單位的時間財產

<%@ OutputCache Duration="60" VaryByParamarybyparam="None" %> 

例子:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="testWebApplication.WebForm1" %> 
<%@ OutputCache Duration="60" VaryByParamarybyparam="None" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>Caching</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <%= DateTime.Now.ToString() %> 
    </form> 
</body> 
</html> 

但是,您可以使用Application caching只緩存從數據源中的數據。