从ASP迁移至ASP
2008-02-23 05:37:45来源:互联网 阅读 ()
自从微软在2000年7月的专业开发人员会议上宣布了ASP 以来, 一个相同的问题一直困扰着许多新闻组及讨论论坛:“我需要怎样做以使现有的web应用程序从ASP转换成asp ?” 专业开发人员会议的发言人称:代码方面无须作较大改动,整个转换过程也并不太难。真是这样吗?在本文中,我们将一探究竟。
要运行ASP 的alpha版本,你需要:
Windows 2000 Professional server, 或者Advanced Server
IIS5.0
Internet Explorer5.5
..Net框架运行时(.Net Framwork Runtime)
(未来发行的ASP 将可以在windows NT及9x上运行)
如果你是一位ASP开发者,你当前使用的技巧如VBScript将轻松转换到Visual Basic .Net来为你的ASP 页面
编写代码。你也可能使用其他的语言如:C#,Managed C 甚至Cobol。 在本文中,我会介绍将一个小型web应用程序从ASP升级到ASP 所需的详细步骤。示例代码使用Visual Basic .Net。
尽管ASP与ASP 可以彼此交互共存,我们还是选择将整个站点迁移至ASP 。被迁移的是一个示例站点,该站点被用来演示入门级的web开发 。我们觉得该站点代表了当前互联网上相当一部分典型的中,小型站点。该站点网址是: http://www.codejunkies.net/eVille/, 它是一个虚拟招生网站, 招收的学生们将学习IT相关课程。该站点架设于Windows2000 Server上,由Access2000数据库驱动,使用VBScript, 客户端JavaScript以及ASP3.0,没有使用COM。
在同一台运行IIS5.0的WEB服务器上,ASP与ASP 被设计成为支持并行运行(最终发行版本将支持IIS其它版本)。这意味着我们可以一次一页地来迁移整个站点。最初的页面仍然可以在ASP3.0下继续运行,而新的页面将被转换成为使用ASP 服务器控件与函数。
我们要做的第一步就是要使IIS能够将default.aspx作为一个有效的缺省文件。这一步相当简单,在Internet Service Manager中:
* 打开IIS虚拟目录中的‘属性’对话框
* 点击‘文件’标签中的‘添加’按钮
* 输入Default.aspx
* 点击‘确定’两次
做示例用的eVille站点没有使用COM,因此所有的数据访问都是通过ASP或者include文件中的ADO来完成的。我们初始的目标之一就是要将ADO转换成ADO 以获得由ADO Managed Provider带来的更好执行效果。ASP 支持传统ADO的使用,然而迁移到ADO 将受益更多。比方说:从单个DataSet中获取多个表(table),更快的执行速度,将数据绑定到服务器控件。ASP 页面中的数据访问可以通过ADO,ADO 或是SQL Managed Provider来完成。由于示例站点没有使用SQL Server,而我们又想对执行进行优化,所以ADO 成了我们最好的选择。
本站的每个页面都涉及到数据访问,所以它将在转换工程中占最大的比例。基本上,每一页都必须作一些代码修改以获取并显示该页所需的数据。在eVille的结构中有一个connect.inc文件,该文件包含ADO连接代码,并且每个页面中都有该文件。连接已经建好并且可以使用了。由于在ASP 中,连接到数据库和绑定到ASP 数据控件的过程由新的Page_Load事件来完成,现在我们得采取一种稍微不同的方法。
最初的考虑(二)
作 者 : 雨晨
运用和在一个单独模块中创建一个普遍性的连接相同的构想,我们创建了一个Pagelet。Pagelet使开发人员可以创建伪控件,伪控件和对象一样可以用来显示属性,方法以及事件。我们的方案是:创建一个显示ConnectToDB方法的Pagelet,该方法返回一个ADOConnection对象(与ADO的语法稍有不同)。我们用下面的代码创建Pagelet,将它存为connect.aspc(扩展名表明它是一个Pagelet)
< %@ Import Namespace="System.Data" %>
< %@ Import Namespace="System.Data.ADO" %>
< script language="VB" runat="server">
Public Function ConnectToDB() As ADOConnection
ConnectToDB = New ADOConnection("DSN=evilleDSN")
End Function
< /script>
你会注意到我们导入了两个Namespaces,即System.Data和System.Data.ADO。为了使用ADO Managed Provider这些Namespaces是必须的。许多人就此问了我许多问题,因为目前多数示例都使用基于Microsoft SQL Server 2000数据库的SQL Managed Provider。对于非SQL Server 数据库,ASP 可以使用ADO Managed Provider,这和目前你在程序中使用ADO的方式大致相同。导入Namespaces和在VB程序中创建参考(Reference)有异曲同工之妙。
Pagelet的运用使我可以维护当前的站点计划,一旦在模块中创建了连接,我们就可在任何需要的地方重用模块。这意味着我们需要用Pagelet的一个实例来替代Include文件指令,然后当我们需要数据库连接时调用ConnectToDB方法。在需要使用Pagelet的页面中,我们首先必须使用ASP 指令将之与该页面注册(register)。在指令中,我们定义TagPrefix,TagName,以及Source(src)。与ASP中的include文件类似,在我们放置Pagelet的地方要用到TagPrefix和TagName。
< %@ Register TagPrefix="seven" TagName="Connect"
src="_includes/connect.aspc" %>
放置我们刚注册的Pagelet的方法与ASP 服务器控件类似:
< [TagPrefix]:[TagName] id=myPagelet runat=server />
比如:
< seven:Connect id=Connect runat=server />
在ADO 中,记录集(Recordset)的概念被DataSets和DataViews的组合所取代。一会儿我们将讨论这两个概念。首先让我们看看在default.asp页面迁移至default.aspx(ASP 页面的后缀)后代码都有了哪些改变。先看default.asp:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 从ASP迁移至ASP+--最初的考虑(二) 2008-06-26
- 从ASP迁移至ASP --处理会话变量 2008-02-23
- 从ASP迁移至ASP --转换其他的页面 2008-02-23
- 从ASP迁移至ASP --HTML表格转换为ASP 列表 2008-02-23
- 从ASP迁移至ASP --进入DataSet 2008-02-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash