日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

OutputCache屬性詳解(四)— SqlDependency

 昵稱(chēng)10504424 2014-09-25

目錄

OutputCache概念學(xué)習(xí)

 

NoStore

bool值,用于決定是否阻止敏感信息的二級(jí)存儲(chǔ),默認(rèn)值為 false。

該屬性的測(cè)試代碼,我沒(méi)寫(xiě)出來(lái),不知道如何寫(xiě),各位知道的大俠請(qǐng)說(shuō)下哈!

 

SqlDependency

標(biāo)識(shí)一組數(shù)據(jù)庫(kù)/表名稱(chēng)對(duì)的字符串值,頁(yè)或控件的輸出緩存依賴(lài)于這些名稱(chēng)對(duì)。請(qǐng)注意,SqlCacheDependency 類(lèi)監(jiān)視輸出緩存所依賴(lài)的數(shù)據(jù)庫(kù)中的表,因此當(dāng)更新表中的項(xiàng)時(shí),使用基于表的輪詢時(shí)將從緩存中移除這些項(xiàng)。如果以值 CommandNotification: 使用通知(在 Microsoft SQL Server 2005 中),則最終會(huì)使用 SqlDependency 類(lèi)向 SQL Server 2005 服務(wù)器注冊(cè)查詢通知。

 

SqlCacheDependency

數(shù)據(jù)庫(kù)緩存依賴(lài)主要解決的是當(dāng)數(shù)據(jù)庫(kù)的內(nèi)容發(fā)生改變時(shí),如何及時(shí)通知緩存,并更新緩存中的數(shù)據(jù)的問(wèn)題。本節(jié)就介紹如何使用SQL Server 2005和.NET 2.0實(shí)現(xiàn)數(shù)據(jù)庫(kù)的緩存依賴(lài)。

推薦一篇:http://www.cnblogs.com/systemxgl/archive/2009/09/03/1559828.html


使用SqlDependency需要實(shí)現(xiàn)以下步驟:

1.注冊(cè)數(shù)據(jù)庫(kù)連接池

aspnet_regsql:http://msdn.microsoft.com/zh-cn/library/ms229862

項(xiàng)

說(shuō)明

-?

在命令窗口中顯示 Aspnet_regsql.exe 幫助文本。

-W

在向?qū)J较逻\(yùn)行該工具。如果未指定任何命令行參數(shù),那么這是默認(rèn)設(shè)置。

-C <連接字符串>

指定要連接到正在運(yùn)行 SQL Server 并且將安裝或者已經(jīng)安裝數(shù)據(jù)庫(kù)的計(jì)算機(jī)的連接字符串。如果您僅指定服務(wù)器 (-S) 和登錄(-U-P,或 -E)信息,則此選項(xiàng)不是必需的。

-S <服務(wù)器>

指定正在運(yùn)行 SQL Server 并且將安裝或者已安裝數(shù)據(jù)庫(kù)的計(jì)算機(jī)的名稱(chēng)。

-U <登錄 ID>

要用來(lái)登錄的 SQL Server 用戶 ID。此選項(xiàng)還要求使用密碼 (-P) 選項(xiàng)。如果要使用 Windows 憑據(jù) (-E) 進(jìn)行身份驗(yàn)證,則此選項(xiàng)不是必需的。

-P <密碼>

要用來(lái)登錄的 SQL Server 密碼。此選項(xiàng)還要求使用用戶 ID (-U) 選項(xiàng)。如果要使用 Windows 憑據(jù) (-E) 進(jìn)行身份驗(yàn)證,則此選項(xiàng)不是必需的。

-E

使用當(dāng)前登錄用戶的 Windows 憑據(jù)進(jìn)行身份驗(yàn)證。

-sqlexportonly <文件名>

生成可用于添加或移除指定功能的 SQL 腳本文件。不執(zhí)行指定的操作。

 示意:

復(fù)制代碼
aspnet_regsql.exe -S localhost -U sa -P abcd1234 -ed -d TestStaff -et -t dbo.Staff

-? 顯示該工具的幫助功能; 
-S 后接的參數(shù)為數(shù)據(jù)庫(kù)服務(wù)器的名稱(chēng)或者IP地址; 
-U 后接的參數(shù)為數(shù)據(jù)庫(kù)的登陸用戶名; 
-P 后接的參數(shù)為數(shù)據(jù)庫(kù)的登陸密碼; 
-E 當(dāng)使用windows集成驗(yàn)證時(shí),使用該功能; 
-d 后接參數(shù)為對(duì)哪一個(gè)數(shù)據(jù)庫(kù)采用SqlCacheDependency功能; 
-t 后接參數(shù)為對(duì)哪一個(gè)表采用SqlCacheDependency功能; 
-ed 允許對(duì)數(shù)據(jù)庫(kù)使用SqlCacheDependency功能; 
-dd 禁止對(duì)數(shù)據(jù)庫(kù)采用SqlCacheDependency功能; 
-et 允許對(duì)數(shù)據(jù)表采用SqlCacheDependency功能; 
-dt 禁止對(duì)數(shù)據(jù)表采用SqlCacheDependency功能; 
-lt 列出當(dāng)前數(shù)據(jù)庫(kù)中有哪些表已經(jīng)采用sqlcachedependency功能。 

注意大小寫(xiě)
復(fù)制代碼

注冊(cè)完成后,我們會(huì)看到數(shù)據(jù)庫(kù)中會(huì)多出一張注冊(cè)存儲(chǔ)緩存的表:

 2.配置項(xiàng)目WebConfig代碼 

復(fù)制代碼
<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <connectionStrings>
    <add name="TestSqlCacheDependency_connectionStrings" connectionString="SERVER=localhost;UID=SA;PWD=abcd1234;DATABASE=TestStaff;"/>
  </connectionStrings>
  <system.web>
    <caching>
      <sqlCacheDependency enabled="true">
        <databases>
          <!--pollTime 設(shè)置 sqlCacheDependency 輪詢數(shù)據(jù)庫(kù)表以查看是否發(fā)生更改的頻率-->
          <add connectionStringName="TestSqlCacheDependency_connectionStrings" name="TestSqlCacheDependency" pollTime="50000"/>
        </databases>
      </sqlCacheDependency>
    </caching>
    <compilation debug="true"/>
  </system.web>
</configuration>
復(fù)制代碼

3.配置調(diào)用程序

復(fù)制代碼
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ OutputCache SqlDependency="TestSqlCacheDependency:Staff" Duration="100" VaryByParam="id" %>
<html xmlns="http://www./1999/xhtml">
<head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
</head>
<body>
    <form id="form1" runat="server">
    <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1">
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" SqlCacheDependency="TestSqlCacheDependency" SelectCommand="SELECT TOP 10 [Password],[Gender],[Status] FROM [dbo].[Staff]"
        ConnectionString="<%$ConnectionStrings:TestSqlCacheDependency_connectionStrings %>">
    </asp:SqlDataSource>
    <%=DateTime.Now %>
    </form>
</body>
</html>
復(fù)制代碼

4.測(cè)試

 利用sql server profiler監(jiān)測(cè),多次刷新頁(yè)面,也不會(huì)有相關(guān)的SQL查詢請(qǐng)求,如下:

 關(guān)于OutputCache五個(gè)章節(jié)就寫(xiě)完了,如有問(wèn)題,歡迎指正。

 

作者:釋迦苦僧   出處:http://www.cnblogs.com/woxpp/p/3986185.html 本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁(yè)面明顯位置給出原文連接。

 

 

作者:釋迦苦僧
出處:http://www.c

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多