|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
将ASP代码移植到ASP .NET 开发组希望在移植这个Web站点的过程中,能尽可能地少写代码,以减少产生漏洞的可能。在这部分,我将向你说明将ASP页面移植到ASP .NET最简朴的方式是什么。但使用这种方式不能充分利用ASP .NET的新特点,只能建立一个能在ASP .NET下运行的站点。 许多页面需要做三四个标准的修改后才能准确运行。最常见的修改是要删除Set要害字。.NET框架和底层的common language runtime (CLR)把任何东西都当作对象处理,所以删除了Set这个要害字。下面这段代码取自原先的站点: \\'create the feedback object set oFeedback = Server.CreateObject("BetaSiteMgr.Feedback") 应该改为 : \\'create the feedback object oFeedback = Server.CreateObject("BetaSiteMgr.Feedback") 另一个常见的改动是,在ASP页中引用一个对象时,要明确指定这个对象的默认属性。CLR和ASP .NET不再支持不传递参数的默认属性。不幸的是,尽管明确指定属性的值可以增加代码的可读性和可持续性,许多开发者更愿意利用默认属性的特点而不打出值。在这个Web站点中,当需要使用ADO记录时,默认属性常常被使用。原来的ASP代码像这样: \\'set rs fields rsLameError("BetaID") = Request.Form("betaid") rsLameError("UserDescription") = Request.Form("bugDescription") rsLameError("SeverityID") = Request.Form("severity") 应改为: \\'set rs fields rsLameError("BetaID").Value=Request.Form("betaid") rsLameError("UserDescription").Value=Request.Form("bugDescription") rsLameError("SeverityID").Value=Request.Form("severity") 第三种常见的修改是改变类型转变函数的使用方法。再ASP .NET中,VBScript的类型转变函数被加到了.NET框架中。这个变化要求下面的ASP代码 adoRS.fields("AreaID") = clng(oUploadManager.Form("cboArea")) adoRS.fields("SubAreaID") = clng(oUploadManager.Form("cboSubArea")) 转换为: adoRS.fields("AreaID").Value = oUploadManager.Form("cboArea").ToString().ToInt() adoRS.fields("SubAreaID").Value = oUploadManager.Form("cboSubArea").ToString().ToInt() 最后一个常见的修改是将调用Response.Write方式的格式改为ASP .NET中的方式调用格式。在VBScript,调用不返回值的过程时,不需要用小括号把参数括起来。但在ASP .NET中,所有传递到方式中的参数都要用括号括起来。在原来的站点中,在很多地方都调用了Response对象的Write方式,而且都没加小括号。为了将站点移植到ASP .NET,有必要将下面这段代码: <% Response.Write "Thank You!" %> 改为: <% Response.Write("Thank You!") %> 在对原来的ASP页面做了这些修改之后,这个Web站点就可以运行在ASP .NET下了。移植工作只要用两周就可以完成了。为了知道什么地方需要作修改,开发组应用Visual Studio .NET IDE新建了一个新的Visual Basic Web应用程序,将现存的ASP文件的扩展名都改为.aspx,并把它们加到工程中。一旦页面在IDE中显示了出来,Visual Studio .NET就高亮显示出语法,列出要作修改的地方,帮助我们这样发现编译期错误。 返回类别: 教程 上一教程: 教你做小偷程序 轻易学 下一教程: 建立自己的WEB平台 您可以阅读与"NET移植案例学习:建造Web站点(3)"相关的教程: · NET移植案例学习:建造Web站点(6) · NET移植案例学习:建造Web站点(4) · NET移植案例学习:建造Web站点(2) · 通过事例学习.net的WebForms技术(四) · 通过事例学习.net的WebForms技术(一) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |