仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1145|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET编程:.NET 2.0 SqlDependency疾速上手指南

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:43:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
觉得J2EE好像有很多工具,比如servlet,jboss,tomcat,ejb什么的,可是微软的.NET怎么什么也没有啊?sql  本文以SQLServer2005上完成为准,SQLServer2000由于完成机制分歧,请查阅相干材料。

  步骤一:在SQLServer2005上实行ALTERDATABASE<DatabaseName>SETENABLE_BROKER;语句让响应的数据库启用监听服务,以便撑持SqlDependency特征。

  这条语句最幸亏数据库未实行任何事件的情形下实行。

  步骤二:挪用SqlDependency.Start(StringstrConnectionString)办法,在使用程序端启用依附监听器。

  该办法的参数为一个数据库的毗连字符串,该数据库必需已实行过步骤一的操纵。

  关于统一毗连字符串,若已实行过该语句,再次实行不会产生任何非常,但前往值会为False.

  假如是在Web程序中利用,倡议能够将该语句放在Application_Start事务中实行。

  监听是基于数据库的,而依附才能够基于表大概查询。

  步骤三:该步骤分离有两种分歧的做法。该阶段必需注重步骤。

  办法A:创建毗连工具,再创立一个SqlCommand实例,创立SqlCacheDependency实例,在这步以后再挪用Command工具来猎取数据(这个按次很主要)。以后挪用Cache的Insert语句创建一个依附于一个详细查询数据集的Cache项。

SqlConnectionconn=newSqlConnection(strConnection);
SqlCommandcommand=newSqlCommand(strCommandText,conn);
SqlCacheDependencydependency=newSqlCacheDependency(command);

//注册办法到托付,该托付是
CacheItemRemovedCallbackonRemove=newCacheItemRemovedCallback(RemovedCallback);

//新增或修正一条缓存纪录
Cache.Insert(strCacheKey,objAppCache,dependency,absoluteExpiration,slidingExpiration,CacheItemPriority.Default,onRemove);
  办法B:创建毗连工具,再创立一个SqlCommand实例,最初创立SqlDependency实例。界说SqlDependency的托付OnChange,当数据产生改动时做出响应的处置(好比扫除Cache)。

SqlConnectionconn=newSqlConnection(strConnection);
SqlCommandcommand=newSqlCommand(strCommandText,conn);
SqlCacheDependencydependency=newSqlCacheDependency(command);
dependency.OnChange+=newOnChangeEventHandler(Dependency_OnChange);
  注重事项:

  不晓得是否是还存在BUG,我在项目开辟中碰到一些奇异的征象。一样的代码,在有的呆板上运转则能捕获到变更,有的则完整没反响;也偶然会呈现Cache刚创建就重复产生依附改动的事务。偶然Cache还会数据产生变更却不激发事务。

  但从终极项目实行的情形看,仿佛都只是某些呆板情况酿成的不断定要素?这个没法断定。不外最少数据库端是不是一般启用,能够经由过程SQLServerProfiler来检察监督。我感觉可以顶到50楼,出乎意料的是大家居然纷纷写出自己的博文,还被编辑做成了专题,置于首页头条。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-17 18:07:55 | 只看该作者
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-21 06:54:13 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
莫相离 该用户已被删除
地板
发表于 2015-1-30 10:16:41 | 只看该作者
ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。
若相依 该用户已被删除
5#
发表于 2015-2-6 09:48:46 | 只看该作者
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
爱飞 该用户已被删除
6#
 楼主| 发表于 2015-2-15 22:14:59 | 只看该作者
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
不帅 该用户已被删除
7#
发表于 2015-3-11 20:16:51 | 只看该作者
Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。
若天明 该用户已被删除
8#
发表于 2015-3-19 11:36:56 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。
乐观 该用户已被删除
9#
发表于 2015-3-27 22:47:47 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:44

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表