爱飞 发表于 2015-1-16 22:43:47

ASP.NET编程:.NET 2.0 SqlDependency疾速上手指南

觉得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。

若相依 发表于 2015-2-6 09:48:46

现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。

爱飞 发表于 2015-2-15 22:14:59

虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。

不帅 发表于 2015-3-11 20:16:51

Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。

若天明 发表于 2015-3-19 11:36:56

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。

乐观 发表于 2015-3-27 22:47:47

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
页: [1]
查看完整版本: ASP.NET编程:.NET 2.0 SqlDependency疾速上手指南