|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为现在数据库都使用标准的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"</p>减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。 |
|