OutputCache属性详解(四)— SqlDependency

目录

OutputCache概念学习

  • OutputCache属性详解(一)

  • OutputCache属性详解(二)

  • OutputCache属性详解(三)

  • OutputCache属性详解(四)—
    SqlDependency

 

NoStore

bool值,用于决定是否阻止敏感信息之二级存储,默认值为
false。

欠属性之测试代码,我未曾写出来,不知情怎样勾勒,各位知道之大侠请说生哈!

 

SqlDependency

标识一组数据库/表名称对的字符串值,页或控件的输出缓存依赖让这些号对。请留心,SqlCacheDependency
类监视输出缓存所依靠的数据库中之说明,因此当更新表中的项时,使用基于表的轮询时将起缓存中移除这些项。如果坐值
CommandNotification: 使用通知(在 Microsoft SQL
Server 2005 中),则最终会动用 SqlDependency 类向 SQL Server 2005
服务器注册查询通知。

 

SqlCacheDependency

数据库缓存依赖主要解决之是当数据库的情有转移时,如何就通报缓存,并创新缓存中的数额的题材。本节就介绍如何下SQL
Server 2005同.NET 2.0贯彻数据库的缓存依赖。

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

使用SqlDependency消实现以下步骤:

1.报了名数据库连接池

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

说明

-?

在命令窗口中显示 Aspnet_regsql.exe 帮助文本。

-W

在向导模式下运行该工具。如果未指定任何命令行参数,那么这是默认设置。

-C <连接字符串>

指定要连接到正在运行 SQL Server 并且将安装或者已经安装数据库的计算机的连接字符串。如果您仅指定服务器 (-S) 和登录(-U-P,或 -E)信息,则此选项不是必需的。

-S <服务器>

指定正在运行 SQL Server 并且将安装或者已安装数据库的计算机的名称。

-U <登录 ID>

要用来登录的 SQL Server 用户 ID。此选项还要求使用密码 (-P) 选项。如果要使用 Windows 凭据 (-E) 进行身份验证,则此选项不是必需的。

-P <密码>

要用来登录的 SQL Server 密码。此选项还要求使用用户 ID (-U) 选项。如果要使用 Windows 凭据 (-E) 进行身份验证,则此选项不是必需的。

-E

使用当前登录用户的 Windows 凭据进行身份验证。

-sqlexportonly <文件名>

生成可用于添加或移除指定功能的 SQL 脚本文件。不执行指定的操作。

 示意:

aspnet_regsql.exe -S localhost -U sa -P abcd1234 -ed -d TestStaff -et -t dbo.Staff

-? 显示该工具的帮助功能;  
-S 后接的参数为数据库服务器的名称或者IP地址;  
-U 后接的参数为数据库的登陆用户名;  
-P 后接的参数为数据库的登陆密码;  
-E 当使用windows集成验证时,使用该功能;  
-d 后接参数为对哪一个数据库采用SqlCacheDependency功能;  
-t 后接参数为对哪一个表采用SqlCacheDependency功能;  
-ed 允许对数据库使用SqlCacheDependency功能;  
-dd 禁止对数据库采用SqlCacheDependency功能;  
-et 允许对数据表采用SqlCacheDependency功能;  
-dt 禁止对数据表采用SqlCacheDependency功能;  
-lt 列出当前数据库中有哪些表已经采用sqlcachedependency功能。 

注意大小写

SQL Server 1

报成功后,我们见面看到数据库中会多生同样摆注册存储缓存的阐发:

SQL Server 2

 2.配置型WebConfig代码 

<?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 设置 sqlCacheDependency 轮询数据库表以查看是否发生更改的频率-->
          <add connectionStringName="TestSqlCacheDependency_connectionStrings" name="TestSqlCacheDependency" pollTime="50000"/>
        </databases>
      </sqlCacheDependency>
    </caching>
    <compilation debug="true"/>
  </system.web>
</configuration>

3.配置SQL Server调用程序

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ OutputCache SqlDependency="TestSqlCacheDependency:Staff" Duration="100" VaryByParam="id" %>
<html xmlns="http://www.w3.org/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>

4.测试

SQL Server 3

 利用sql server
profiler监测,多次刷新页面,也不见面发出相关的SQL查询请求,如下:

SQL Server 4

 关于OutputCache五独章节就描写了了,如发题目,欢迎指正。

 

作者:释迦苦僧  
出处:http://www.cnblogs.com/woxpp/p/3986185.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意要保留这个段子声明,且以文章页面明显位置让闹原文连接。

 

 

相关文章