首页 >> 读书频道 >> 电脑 >> 自动修改Cache中的数据
 
· 自己开发的email组件
· 自己谈谈安全!
· 最短的无组件上传代码(仅
· 在线实时开通FTP&WE
· 最新的ASP、IIS安全
· 做网页有哪些技术
· SQL基础(六
· “变量”是计算机内存中已
· 防CC攻击的asp代码
· ASP 错误代码
· 服务器频繁的死机是什么原
· JAVA+ACCESS编
 
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
· 2006高考录取规则
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

自动修改Cache中的数据


查看有无更新版本

关键字:ASP 2006-9-16

 

当数据库中的数据更新时,使用触发器调用外部程序修改Cache依赖的文件,从而使Cache失效。当页面再次请求Cache时,由于请求的Cache已经失效,所以程序将从数据库取数据,并更新Cache。



Sql Server 2000中的触发触发器是一种特殊的存储过程,被定义为在对表或者视图执行INSERT、UPDATE、DELETE操作时执行。



Cache的Insert方法的一个重载版本

Public void Insert(string ,object , CacheDependency)

向Cache中插入具有文件依赖项或键依赖项的对象。[Visual Basic]当任何依赖项更改时,该对象即无效,并从缓存中移除。



代码:



Sql Server触发器:

CREATE TRIGGER BookList_Cache ON [dbo].[BookList]

FOR INSERT, UPDATE, DELETE

AS

Begin

DECLARE @CMDS [nvarchar](100)

--外部程序的路径。BookList -– Cache依赖的文件名称,以参数的形式传递给外部程序。

SET @CMDS = 'C:\Inetpub\wwwroot\TryXML\SqlDepend.exe ' + ' BookList'

Exec Master..xp_cmdshell @CMDS

End



SqlDepend代码:

SqlDepend是一个控制台应用程序。



using System;

using System.IO;

using System.Xml;



namespace SqlDepend

{

///

/// Class1 的摘要说明。

///

class Class1

{

///

/// 应用程序的主入口点。

///

[STAThread]

static void Main(string[] args)

{

//

// TODO: 在此处添加代码以启动应用程序

//

//Cache依赖文件的具体路径

string Path=@"C:\Inetpub\wwwroot\TryXML\Cache\";

//Cache依赖文件的名称。

string _table = args[0].ToString();

Path = Path + _table + ".xml";

if(!File.Exists(Path))

{

File.Create(Path);

}

//产生一随机数,写入依赖文件。

Random _r = new Random( unchecked ( ( int ) DateTime.Now.Ticks ) );

string _value = _r.Next().ToString();

StreamWriter _SWriter = new StreamWriter( File.Open( Path, FileMode.Open, FileAccess.Write ) );

_SWriter.Write( _value );

_SWriter.Close();

}

}

}



web文件:

if(Cache["InvalidataCache"] != null)

{

Response.Write("Cache is not Invalided!");

}

else

{

Response.Write("Cache had Invalided!");

Cache.Insert("InvalidataCache","Hello World!",

new CacheDependency(Server.MapPath(@"Cache\Booklist.xml")));

}

自动修改Cache中的数据

[ 1 ]
自动修改Cache中的数据 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑