和sql2005 如果要是用到 Sqlcachedependency功能 ,数据库用的是 ,sql2005 ,那么需要对数据库做什么样的配置 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要在ASP.NET 2.0中应用SqlCacheDependency特性,步骤如下(基于大家手里的Whidbey PDC版本): 1、 使数据库支持SqlCacheDependency 在.Net Framework 1.2的安装目录下(通常是WINDOWS\Microsoft.NET\Framework\v1.2.30703),有一个aspnet_regsqlcache.exe,这个命令行工具让我们的SqlServer 7.0或者SqlServer 2000能支持SqlCacheDependency特性,首先:“aspnet_regsqlcache –S 服务器名称 –U 登陆ID –P 密码 –d 数据库名称 –ed”,这个命令使指定数据库支持SqlCacheDependency, 然后我们再加入要追踪的数据表:“aspnet_regsqlcache –S 服务器名称 –U 登陆ID –P 密码 –d 数据库名称 –t 要追踪的数据表的名称 –et”,这个命令使指定的Table支持SqlCacheDependency。 它在幕后做了什么事情呢? 首先,它在指定的数据库中新建了一个Table,叫做“AspNet_SqlCacheTablesForChangeNotification”,这个表有三个字段,“tableName”记录要追踪的数据表的名称,“notificationCreated”记录开始追踪的时间,“changeId”是一个int类型的字段,每当追踪的数据表的数据发生变化时,这个字段的值就加1。 它还会在指定的数据库中增加几个存储过程,用来让ASP.NET引擎查询追踪的数据表的情况。 然后,它会给我们要追踪的Table加上几个Trigger,分别对应到Insert、Update、Delete操作,这几个Trigger的语句非常简单,就是把“AspNet_SqlCacheTablesForChangeNotification”表中对应“tableName”字段为这个追踪的表的名称的记录的“changeId”字段加上一个1。 ASP.NET引擎通过执行它加上的存储过程“AspNet_SqlCachePollingStoredProcedure”,这个存储过程直接返回“AspNet_SqlCacheTablesForChangeNotification”表的内容,让ASP.NET引擎知道哪个表的数据发生的变化。默认每500毫秒执行这个存储过程一次,不过可以在web.config里面修改这个间隔时间,我的经验是这个查询操作也是很耗资源的,呵呵。 2、 web.config配置 在web.config里面的配置再简单不过了 <configuration> <!-- 加上合适的数据库连接字符串 --> <connectionStrings> <add name="SqlServerConnectionString" connectionString="server=sqlserver1;uid=sa;pwd=password;database=PortalDB " /> </connectionStrings> <system.web> <!-- 配置Cache一段,使之支持SqlCacheDependency --> <cache> <sqlCacheDependency enabled="true" pollTime="500"> <databases> <add name=" PortalDB " connectionStringName=" SqlServerConnectionString " /> </databases> </sqlCacheDependency> </cache> </system.web></configuration> 3、 在页面上的outputCache标签中指定SqlCacheDependency特性: <%@ outputcache duration="9999" varybyparam="None" sqldependency="PortalDB:追踪的数据表名称" %> 只要在这个追踪的Table上执行了Insert、Update、Delete操作,数据表上的Trigger就会将数据库中“AspNet_SqlCacheTablesForChangeNotification”表的相应记录的相应“changId”字段值修改,然后ASP.NET引擎就会通过获取新的值来得知追踪的Table的内容发生了变化,自动使这个页面的cache失效。 网上查了好久,没有解决办法,用过CuteEditor的请进来看看 session在搜狗高速模式下失效 问一个SQL语句,在线等。。 不包含名为fengmian的属性是怎么回事啊 asp2.0 gridview 更新的问题 如何动态生成aspx页面,有Gridview删除添加等操作? 高分求教怎样删除自定义控件中checkboxlist里面的item 如何在客户端脚本里判断提交按钮的信息 重新开贴:为什么我的CrystalReportView里面动态产生的图片都显示一个红叉 如何在ASP.NET网页中自动在新窗口中打开另外一个页面? 奇怪 Oracle调用存储过程提示错误大家帮看看!!在线等!急急急急!!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货