• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > ASP.NET数据库缓存依赖实例分析

ASP.NET数据库缓存依赖实例分析

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了数据库连接 asp.net,数据库asp.net,c asp.net实例,用实例学asp.net,ajax实例 asp.net等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了ASP.NET数据库缓存依赖,分享给大家供大家参考。具体如下:

一般在ASP.NET中,Cache类最酷的特点是它能根据各种依赖来良好的控制自己的行为。以文件为基础的依赖是最有用的,文件依赖项是通过使用 Cache.Insert 并提供引用文件的 CacheDependency 对象添加的

但是当我们想让缓存根据数据库中表的变化而失效并重建该缓存的时候,应该怎么做呢 – 这种情景在很多应用程序中都存在。Asp.net没有为监视数据库表的变化提供内在的直接缓存支持。利用SQL Server的不常用的系统存储过程sp_makewebtask ,是可以达到这个目的的,这个存储过程本来是用作从查询中生成web页面的,但是我们只要稍作修改- 在触发器中使用它,我们就可以取得一个合理有效的途径,当数据库某张表的记录被更新,删除或者修改时来修改某个特定的文件,这样会使在CacheDependency实例中的文件监视进程侦测到文件的变化,从而使缓存失效。事实上,因为CacheDependency 类工作在UNC文件协议上,我们可以在整个Web Farm上部署这个解决方案,Web Farm上每台机器上的应用程序副本都会通过UNC文件路径来监视WebFarm中某台单个机器上的同一个文件

废话少说,让我们创建一个简单的web应用程序,来演示它是如果工作的。首先,我们将会使用我们SQL Server中都信赖的Northwind范例数据库。创建一个简单的DataGrid来显示Employees表中的记录. 我们要做的第一件事情就是创建触发器。

FOR INSERT, UPDATE, DELETE
AS
EXEC sp_makewebtask '\\peter\C$\Cache\mycache.txt', 'SELECT top 1 FirstName FROM employees'</div>

以上存储过程就是简单的告诉SQL Server,如果Employee表发生任何变动,就根据一个简单的查询来更新”mycache.txt”文件,有这个简单的查询语句其实足够了,只要它是一个有效的T-SQL语句,SQL Server会很乐意的去更新那个文件。

接下来,我们需要创建一个目录,并设为共享。你可能要更新该文件的访问权限,以使它可以被写入,注意,我这里使用的是管理员共享”C$”.另外,你还需要创建一个空的文本文件,"mycache.txt".

好,现在可以创建我们的应用程序了。首先,在web.config文件中输入依赖文件名称,这样做可以使我们在修改依赖文件的时候不需要重新部署应用程序。

在web.config文件的根部,添加appSettings配置节:

<appSettings>
<!—缓存依赖文件路径 -->
<add key="dependencyFile" value="\\peter\Cache\mycache.txt" />
</appSettings>
</configuration></div>

现在,让我们在Global类中建立缓存机制,这样我们不需要在任何页面中编写特定的代码

{
Cache _cache =null;
public static bool blnReflash = false;
public const string ConnStr = "server=localhost;database=Northwind;uid=sa;pwd=";
public const string strSQL = "SELECT EmployeeID, lastname, firstname FROM Employees";
protected void Application_Start(Object sender, EventArgs e)
{
_cache = Context.Cache;
RefreshCahe(null,null,0);
}
protected void Session_Start(Object sender, EventArgs e)
{
if(HttpContext.Current.Cache["Employees"]==null)
RefreshCache(null,null,0);
}
static void RefreshCache(string key,object item,CacheItemRemoveReason reason)
{
SqlDataAdapter adapter = new SqlDataAdapter(strSQL,ConnStr);
DataSet ds = new DataSet();
adapter.Fill(ds,"Employees");
CacheItemRemovedCallback onRemove = new CacheItemRemovedCallback(RefreshCache);
}</div>

希望本文所述对大家的asp.net程序设计有所帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ASP.NET数据库操作类实例
  • ASP.NET保存PDF、Word和Excel文件到数据库
  • ASP.NET数据库存取图片的方法
  • ASP.NET中各种连接数据库的配置的方法及json数据转换
  • ASP.net与SQLite数据库通过js和ashx交互(连接和操作)
  • asp.net 获取数据库连接字符串
  • 在ASP.NET 2.0中操作数据之七十:配置数据库连接和命令等级设置
  • 在ASP.NET 2.0中操作数据之六十一:在事务里对数据库修改进行封装
  • asp.net实现Gradview绑定数据库数据并导出Excel的方法
  • ASP.NET连接数据库并获取数据方法总结

相关文章

  • 2017-05-11asp.net后台cs中的JSON格式变量在前台Js中调用方法(前后台示例代码)
  • 2017-05-11ASP.NET Internet安全Forms身份验证方法
  • 2017-05-11总结十条.NET异常处理建议
  • 2017-05-11ASPX向ASCX传值以及文本创建图片(附源码)
  • 2017-05-11数据库SqlParameter 的插入操作,防止sql注入的实现代码
  • 2017-05-11MVC后台创建Json(List)前台接受并循环读取实例
  • 2017-05-11剖析Asp.Net Web API路由系统---WebHost部署方式
  • 2017-05-11Asp.Net MVC学习总结之过滤器详解
  • 2017-05-11用 Asp.Net 建立一个在线 RSS 新闻聚合器的方法
  • 2017-05-11Asp.net中Microsoft.Identity的IPasswordHasher加密的默认实现与运用

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • asp.net生成静态页并分页+ubb第1/2页
    • ASP.NET 2.0/3.5中直接操作Gridview控件插入新记录
    • ASP.NET2.0数据库入门之SqlDataSource
    • 从零开始学ASP.NET-基础篇第1/7页
    • 加密web.config的方法分享
    • 在ASP.NET2.0中通过Gmail发送邮件的代码
    • ASP.NET输入文本框自动提示功能
    • asp.net EXECUTENONQUERY()返回值介绍
    • Amazing ASP.NET Core 2.0
    • 用类的继承关系(重写父类的方法)实现简易后台代码模板

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有