程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net頁面SqlCacheDependency緩存實例

asp.net頁面SqlCacheDependency緩存實例

編輯:ASP.NET基礎

緩存技術是asp.net程序設計中非常實用的技術,也是大型web程序設計中比較常見的技術。本文就以實例形式對此加以說明。具體如下:

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>

數據源控件的Sql緩存:

Cahce/SqlCachePage.aspx頁面代碼如下:

<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="SqlCacheDataSourceControl.aspx.cs"
  Inherits="Cahce_SqlCacheDataSourceControl" Title="數據源控件的Sql緩存" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<p>
DataSource控件設置如下屬性: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中的相關配置:

 <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的話,則只需如下設置,因為SqlServer支持基於通知的緩存失效
<sqlCacheDependency enabled="true" />
-->
</caching>
</system.web>

注意:對於Sql Server 2005來說,基於通知的緩存失效,不用aspnet_regsql設置,要設置屬性SqlDependency="CommandNotification"。在首次執行某 SQL 查詢之前,必須在應用程序某處調用 System.Data.SqlClient.SqlDependency.Start() 方法。此方法應放在 global.asax 文件的 Application_Start() 事件中。

希望本文所述的緩存技術對大家的asp.net程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved