2015-02-09 78 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只缓存从数据源中的数据。