ASP编程:主动修正Cache中的数据
ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的东西可是什么都要收钱的啊!cache|数据 道理:当数据库中的数据更新时,利用触发器挪用内部法式修正Cache依附的文件,从而使Cache生效。当页面再次恳求Cache时,因为恳求的Cache已生效,所以法式将从数据库取数据,并更新Cache。
Sql Server 2000中的触发触发器是一种特别的存储进程,被界说为在对表或视图履行INSERT、UPDATE、DELETE操作时履行。
Cache的Insert办法的一个重载版本
Public void Insert(string ,object , CacheDependency)
向Cache中拔出具有文件依附项或键依附项的对象。当任何依附项更改时,该对象即有效,并从缓存中移除。
代码:
Sql Server触发器:
CREATE TRIGGER BookList_Cache ON .
FOR INSERT, UPDATE, DELETE
AS
Begin
DECLARE @CMDS (100)
--内部法式的途径。BookList -C 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
{
///
/// 使用法式的主进口点。
///
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动使用法式
//
//Cache依附文件的详细途径
string Path=@"C:\Inetpub\wwwroot\TryXML\Cache\";
//Cache依附文件的称号。
string _table = args.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")));
}
</p>由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 我想问如何掌握学习节奏(先学什么再学什么)最好详细点? 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 那么,ASP.Net有哪些改进呢? 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 不能只是将它停留在纸上谈兵的程度上。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
页:
[1]