|
緩存技術(shù)是ASP.NET程序設(shè)計(jì)中非常實(shí)用的技術(shù),也是大型web程序設(shè)計(jì)中比較常見的技術(shù)。本文就以實(shí)例形式對此加以說明。具體如下:
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="CommandNotification<br />注意配置文件中的配置</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="CommandNotification<br />注意配置文件中的配置</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>
注意:對于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ù)對大家的ASP.NET程序設(shè)計(jì)有所幫助。
AspNet技術(shù):asp.net頁面SqlCacheDependency緩存實(shí)例,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。