仓酷云

标题: ASP教程之从ASP迁徙至ASP+ [打印本页]

作者: 灵魂腐蚀    时间: 2015-1-16 23:36
标题: ASP教程之从ASP迁徙至ASP+
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。asp+原雨晨
最后的思索(一)

它包含运转平台的设置,pagelet的创建,新的ADO+的利用,怎样利用新的DataSet举行数据会见,HTML表格到DataList的变化,和其他多种新的服务器端控件的利用技能……还等甚么?如今就来感觉一下ASP+的全新魅力吧!)

  自从微软在2000年7月的专业开辟职员集会上公布了ASP+以来,一个不异的成绩一向困扰着很多旧事组及会商论坛:“我必要如何做以使现有的web使用程序从ASP转换成asp+?”专业开辟职员集会的讲话人称:代码方面不必作较年夜修改,全部转换历程也其实不太难。真是如许吗?在本文中,我们将一探求竟。

  要运转ASP+的alpha版本,你必要:

  Windows2000Professionalserver,大概AdvancedServer

  IIS5.0

  InternetExplorer5.5

  ..Net框架运转时(.NetFramworkRuntime)

  (将来刊行的ASP+将能够在windowsNT及9x上运转)

  假如你是一名ASP开辟者,你以后利用的技能如VBScript将轻松转换到VisualBasic.Net来为你的ASP+页面

  编写代码。你也大概利用其他的言语如:C#,ManagedC++乃至Cobol。在本文中,我会先容将一个小型web使用程序从ASP晋级到ASP+所需的具体步骤。示例代码利用VisualBasic.Net。

  只管ASP与ASP+能够相互交互共存,我们仍是选择将全部站点迁徙至ASP+。被迁徙的是一个示例站点,该站点被用来演示进门级的web开辟。我们以为该站点代表了以后互联网上相称一部分典范的中,小型站点。该站点网址是:http://www.codejunkies.net/eVille/,它是一个假造招生网站,招收的先生们将进修IT相干课程。该站点架设于Windows2000Server上,由Access2000数据库驱动,利用VBScript,客户端JavaScript和ASP3.0,没有利用COM。

  在统一台运转IIS5.0的WEB服务器上,ASP与ASP+被计划成为撑持并交运行(终极刊行版本将撑持IIS别的版本)。这意味着我们能够一次一页地来迁徙全部站点。最后的页面仍旧能够在ASP3.0下持续运转,而新的页面将被转换成为利用ASP+服务器控件与函数。

  我们要做的第一步就是要使IIS可以将default.aspx作为一个无效的缺省文件。这一步相称复杂,在InternetServiceManager中:

  *翻开IIS假造目次中的‘属性’对话框

  *点击‘文件’标签中的‘增加’按钮

  *输出Default.aspx

  *点击‘断定’两次

  做示例用的eVille站点没有利用COM,因而一切的数据会见都是经由过程ASP大概include文件中的ADO来完成的。我们初始的方针之一就是要将ADO转换成ADO+以取得由ADO+ManagedProvider带来的更好实行效果。ASP+撑持传统ADO的利用,但是迁徙到ADO+将受害更多。例如说:从单个DataSet中猎取多个表(table),更快的实行速率,将数据绑定到服务器控件。ASP+页面中的数据会见能够经由过程ADO,ADO+或是SQLManagedProvider来完成。因为示例站点没有利用SQLServer,而我们又想对实行举行优化,以是ADO+成了我们最好的选择。

  本站的每一个页面都触及到数据会见,以是它将在转换工程中占最年夜的比例。基础上,每页都必需作一些代码修正以猎取并显现该页所需的数据。在eVille的布局中有一个connect.inc文件,该文件包括ADO毗连代码,而且每一个页面中都有该文件。毗连已建好而且可使用了。因为在ASP+中,毗连到数据库和绑定到ASP+数据控件的历程由新的Page_Load事务来完成,如今我们得接纳一种略微分歧的办法。


最后的思索(二)


  使用和在一个独自模块中创立一个广泛性的毗连不异的构思,我们创立了一个Pagelet。Pagelet使开辟职员能够创立伪控件,伪控件和工具一样能够用来显现属性,办法和事务。我们的计划是:创立一个显现ConnectToDB办法的Pagelet,该办法前往一个ADOConnection工具(与ADO的语法稍有分歧)。我们用上面的代码创立Pagelet,将它存为connect.aspc(扩大名标明它是一个Pagelet)

  <%@ImportNamespace="System.Data"%>

  <%@ImportNamespace="System.Data.ADO"%>

  <scriptlanguage="VB"runat="server">

  PublicFunctionConnectToDB()AsADOConnection

  ConnectToDB=NewADOConnection("DSN=evilleDSN")

  EndFunction

  </script>

  你会注重到我们导进了两个Namespaces,即System.Data和System.Data.ADO。为了利用ADO+ManagedProvider这些Namespaces是必需的。很多人就此问了我很多成绩,由于今朝多半示例都利用基于MicrosoftSQLServer2000数据库的SQLManagedProvider。关于非SQLServer数据库,ASP+可使用ADO+ManagedProvider,这和今朝你在程序中利用ADO的体例大抵不异。导进Namespaces和在VB程序中创立参考(Reference)有殊途同归之妙。

  Pagelet的使用使我能够保护以后的站点企图,一旦在模块中创立了毗连,我们便可在任何必要的中央重用模块。这意味着我们必要用Pagelet的一个实例来替换Include文件指令,然后当我们必要数据库毗连时挪用ConnectToDB办法。在必要利用Pagelet的页面中,我们起首必需利用ASP+指令将之与该页面注册(register)。在指令中,我们界说TagPrefix,TagName,和Source(src)。与ASP中的include文件相似,在我们安排Pagelet的中央要用到TagPrefix和TagName。

  <%@RegisterTagPrefix="seven"TagName="Connect"

  src="_includes/connect.aspc"%>

  安排我们刚注册的Pagelet的办法与ASP+服务器控件相似:

  <[TagPrefix]:[TagName]id=myPageletrunat=server/>

  好比:

  <seven:Connectid=Connectrunat=server/>

  在ADO+中,纪录集(Recordset)的观点被DataSets和DataViews的组合所代替。一会儿我们将会商这两个观点。起首让我们看看在default.asp页面迁徙至default.aspx(ASP+页面的后缀)儿女码都有了哪些改动。先看default.asp:

  <!--#includefile="_includes/connect.inc"-->

  <%

  DimcnEville_DB,rsUpcoming,strSqlUpcoming

  SetrsUpcoming=Server.CreateObject("ADODB.Recordset")

  strSqlUpcoming="SELECTTOP2"&_

  "Classes.Title,Sessions.Session_ID,"&_

  "Sessions.Special,Classes.Description"&_

  "FROMClassesINNERJOINSessionsON"&_

  "Classes.Class_ID=Sessions.ClassID"&_

  "WHERE(((Sessions.Date)>Date()))"&_

  "ORDERBYSessions.Date"

  rsUpcoming.OpenstrSqlUpcoming,cnEville_DB

  %>

  在ASP+中成了default.aspx:

  <%@ImportNamespace="System.Data"%>

  <%@ImportNamespace="System.Data.ADO"%>

  <%@RegisterTagPrefix="seven"TagName="Connect&quot</p>减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。
作者: 因胸联盟    时间: 2015-1-20 10:31
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
作者: 只想知道    时间: 2015-1-26 22:24
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
作者: 变相怪杰    时间: 2015-2-4 21:00
不能只是将它停留在纸上谈兵的程度上。
作者: 兰色精灵    时间: 2015-2-10 10:08
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
作者: admin    时间: 2015-3-1 08:28
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
作者: 分手快乐    时间: 2015-3-10 13:00
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
作者: 愤怒的大鸟    时间: 2015-3-17 07:12
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
作者: 山那边是海    时间: 2015-3-24 01:45
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2