緩存技術(shù)是asp.net程序設(shè)計(jì)中非常實(shí)用的技術(shù),也是大型web程序設(shè)計(jì)中比較常見的技術(shù)。本文就以實(shí)例形式對(duì)此加以說明。具體如下:
asp.net頁面的SqlCacheDependency Sql緩存:
Cahce/SqlCachePage.aspx頁面代碼如下:
%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="SqlCachePage.aspx.cs"
Inherits="Cahce_SqlCachePage" Title="頁的Sql緩存" %>
%@ OutputCache Duration="999999" SqlDependency="VS2005_Test:sqlcache" VaryByParam="none" %>
asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
p>
Duration="999999" SqlDependency="VS2005_Test:sqlcache" VaryByParam="none"br />
如果是SqlServer2005則改成SqlDependency="CommandNotificationbr />
注意配置文件中的配置
/p>
p>
%=DateTime.Now %>
/p>
/asp:Content>
數(shù)據(jù)源控件的Sql緩存:
Cahce/SqlCachePage.aspx頁面代碼如下:
%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="SqlCacheDataSourceControl.aspx.cs"
Inherits="Cahce_SqlCacheDataSourceControl" Title="數(shù)據(jù)源控件的Sql緩存" %>
asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
p>
DataSource控件設(shè)置如下屬性:EnableCaching="True" SqlCacheDependency="VS2005_Test:sqlcache"
CacheDuration="Infinite"br />
如果是SqlServer2005則改成SqlDependency="CommandNotificationbr />
注意配置文件中的配置
/p>
p>
%=DateTime.Now %>
/p>
p>
asp:SqlDataSource ID="SqlDataSource1" runat="server" EnableCaching="True" SqlCacheDependency="VS2005_Test:sqlcache"
CacheDuration="Infinite" ConnectionString="%$ ConnectionStrings:SqlConnectionString %>"
SelectCommand="SELECT * FROM [SqlCache]">/asp:SqlDataSource>
asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" AllowSorting="True">
/asp:GridView>
/p>
/asp:Content>
web.config中的相關(guān)配置:
connectionStrings>
add name="SqlConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\VS2005_Test.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
/connectionStrings>
system.web>
caching>
sqlCacheDependency enabled="true" pollTime="10000">
databases>
add name="VS2005_Test" connectionStringName="SqlConnectionString" />
/databases>
/sqlCacheDependency>
!-- 如果是SqlServer2005的話,則只需如下設(shè)置,因?yàn)镾qlServer支持基于通知的緩存失效
sqlCacheDependency enabled="true" />
-->
/caching>
/system.web>
注意:對(duì)于Sql Server 2005來說,基于通知的緩存失效,不用aspnet_regsql設(shè)置,要設(shè)置屬性SqlDependency="CommandNotification"。在首次執(zhí)行某 SQL 查詢之前,必須在應(yīng)用程序某處調(diào)用 System.Data.SqlClient.SqlDependency.Start() 方法。此方法應(yīng)放在 global.asax 文件的 Application_Start() 事件中。
希望本文所述的緩存技術(shù)對(duì)大家的asp.net程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- Asp.net禁用頁面緩存的方法總結(jié)
- 設(shè)置ASP.NET頁面不被緩存(客戶端/服務(wù)器端取消緩存方法)
- ASP.NET頁面在IE緩存的清除辦法
- ASP.NET 4中的可擴(kuò)展輸出緩存(可以緩存頁面/控件等)
- asp.net 使用駐留在頁面中的Cache緩存常用可定時(shí)更新的數(shù)據(jù)
- asp.net 頁面輸出緩存
- ASP.net Substitution 頁面緩存而部分不緩存的實(shí)現(xiàn)方法
- ASP.NET 2.0中的頁面輸出緩存
- 讓html頁面不緩存js的實(shí)現(xiàn)方法
- ASP.NET頁面緩存常見的4種方式