ASP->ASP.NET 迁移的Guideline

原创 2003年08月27日 21:00:00

ASP->ASP.NET 迁移的Guideline

小气的神

2003-08-26

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

Article Type: NEWS 

难度等级:3/9       

版本:1.02

 

 

在我7月份的WebLog上我曾写过一个MIEC的模式理论,简单的说就是:

l          Migration

l          Interoperation

l          EAI

l          .NET Connection

 

Migration最常是用在相同的应用程序层但在不同的平台上,比如把JSP的表现层编成ASP.NETWeb From或是将中间层的COM转换成Web Services等等。基本上,Migration调整的是一个层,不会太大的影响其它层或整个系统已经运行的逻辑。

你会发现MIEC这个模式理论非常有用,当你应用程序需要从ASP2.0 迁移到3.0 的时候,你就可以按照下面的办法来处理。

 

第一阶段--代码转换

使用一个工具,将ASP的代码转换到ASP.NET的代码。一般你可以选择下面几种工具中的一种(这些在我的WebLog中也都有提到过)

l          ASP2ASPX --http://www.netcoole.com/asp2aspx.htm

l          VB6->VB.NETWinForm->WebForm --www.artinsoft.com

l          ASPBridge IncludeControl---http://www.iprisma.com/aspbridge/index.htm

 

当然这里我会使用ASP2ASPX来完成第一阶段的工作,将ASP的代码转换成ASP.NET

下面是一个3.1的评估版本,只能转换不超过1000行的ASP的代码

 

CSDN_Dev_Image_2003-8-262203361.jpg

 

第二阶段--验证、整理和测试

这个阶段主要是将第一阶段的代码进行整理和坚持,看它是否已经转化正确。一般在这个阶段完成具体的代码和应用的迁移任务,并保证迁移是能正常运行的。

1.       由于ASP中多是VB Script没有类型,所以许多都被转换成System.Object,你可以在做检查的过程中,做一点代码重构的工作,将System.Object修改成一些已知的类型,比如System.String; System.Int32;System.Int64

这部分每完成一个模块,或做完代码的调整,都需要做一个完整的单元测试,主要保证编译可以通过这个可以通过编写一个批处理文件,或是使用MS ACT,这个工具对于访问一个ASP.NET就非常好,特别是多个URLACT会给你成功或失败的列表。

2.       一些ASP的代码需要进行修改,比如ASPSession的代码,因为这些在ASP.NET中已经无法使用了,这部分代码只能重写。

3.       迁移ADO代码的部分,工具可以帮你做一些,但是你需要检查转化的代码,注意ADOADO.NET的差别,最明显的是你知道ADO.NET不支持服务器的光标,具体的可以参加下面的资源。

4.       迁移COM组件的部分,ASP2ASPX 3.0之后的版本可以自动的将COM/ActiveX转化成一个ProxyAssembly,但是你需要检查和进行一些调整,最先需要先迁移过来,之后再考虑这种方式的性能,我建议你放在下一个阶段。

5.       这里有一个非常大的代码工作量的问题,因为ASP2ASPX产生的代码对”code behind”的支持非常的有限,产生的Code几乎都是代码和UI在一个ASPX的界面中。ASP.NET 2.0会对于这种方式有更好的支持,但目前这会有一定的代码量。

 

第三阶段优化、集成和部署

这个阶段主要是针对上面的情况,进行一些优化或更多应用的集成扩展,最后在完成测试之后进行部署。

1.   对于原来调用ADO部分的一些代码可能需要在这个阶段进行优化,充分利用ADO.NET的性能。

2.   如果存在原来VBScrip+COM组件的形式,需要在这个阶段调整组件的模式,是直接调用.NET Assembily还是原来可能是在ASP中是调用的COM+Proxy,那么这种情况就更加需要注意。一般你可以做三种选择:

a)        改为在ASP.NET页面的cs文件中直接完成数据库和业务逻辑的部分。

b)        建立一个.NET Assembly 对原来的COM组件的内容进行重写或封装。

c)         将一些组件改为Web Services的方式。

3.   考虑将一些UI的部分变换成Server Control,将其放入Cache中,或是实现完全的”Code behind”

4.   考虑使用.NET中一些Cool的特性,比如校验控件、正则表达式、排序函数、配置类库、加密函数、调试和跟踪函数、多线程等等,增强原来应用的性能和可靠性。

5.   充分利用EAI.NET Connection两种模式,继续增强你的Web应用的价值,最明显和常用的一种方式,你会发现你在迁移ASP应用的过程中会使这个应用变成一个公司的Portal WebSite (EAI模式 ),另外也可能使得你的应用可以跟一个更大的Portal进行连接(.NET Connection 模式)---当然我认为这是迁移最大的益处,不过往往可能你要到再下一个阶段才能真正进行J

6.   Web Services/Remoting

 

资源

 

ASPASP.NET Session 共享

1.       Session 原理

http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=7504 (ASP.NET Team的说明)

2.       MSDN 文档

http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ConvertToASPNET.asp

3.       第三方的产品和解决方案

http://www.consonica.com/solutions/dotnet/statestitch/index.html

http://www.sessionbridge.com/

 

Migrating to ASP.NET: Key Considerations.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/aspnetmigrissues.asp

 

Migrating ASP Pages to ASP.NET Pages

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconmigratingasppagestoasp.asp

 

Converting ASP to ASP.NET

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/convertasptoaspnet.asp

 

Upgrading to ADO.NET

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/upgradingtodotnet.asp

 

ADO.NET for the ADO programmer

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/adonetprogmsdn.asp

 

Migrate Classic ASP to ASP.NET

http://www.aspalliance.com/anjum/ASPMigration.aspx

 

An experience in migrating from ASP to ASP.NET

http://www.mindfiresolutions.com/download/Porting=ASP%20to%20dotNET.pdf

 

Preparing your ASP Pages to migrate to ASP.NET

http://www.4guysfromrolla.com/webtech/041601-1.shtml

 

Microsoft .NET/COM Migration and Interoperability (PAG)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/cominterop.asp

 

Migrating Your ASP Apps from Windows NT 4.0 to Windows 2000

http://msdn.microsoft.com/msdnmag/issues/0800/migrateasp/default.aspx

 

Web Service Facade for Legacy Applications (PAG)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/wsfacadelegacyapp.asp

 

Migrating an ASP-Based Site to an ASP.NET-Based Site (Microsoft Content Management Server 2002)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncomsrv02/html/mscs_csnetmig.asp

 

How to Upgrade ASP Pages to ASP.NET Pages That Use JScript .NET

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnclinic/html/scripting01222002.asp

 

Migrating from ColdFusion to ASP.NET

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/coldfusiontoaspnet.asp

特别:

 

本文原始出处,出自我的WebLog。如果有问题或建议,请发电子邮件给new2001@msn.com

欢迎访问我的WebLogwww.dotNETTools.org

 

我的asp.net内容管理系统如何迁移到asp.net mvc(一)开场

本人用asp.net1.1 webform设计了一套网页内容管理的系统(www.buyourweb.com),有如下技术要点: 1.url伪路径:自定义404.aspx,所有的url伪路径通过404...
  • tonyathome
  • tonyathome
  • 2016年09月26日 09:29
  • 316

ASP.NET MVC3 通过Url传多个参数方法

MVC3通过URL传值,一般情况下都会遇到【从客户端(&)中检测到有潜在危险的 Request.Path 值】的问题 这个问题的解决方法,我的其他博文已经有了说明,这里给出连接;【从客户端(&)中检...
  • risingsun001
  • risingsun001
  • 2013年06月09日 22:13
  • 17610

Asp.Net Core-Identity迁移

在本章中,我们将讨论Identity迁移。 在ASP.NET Core MVC中,在Startup.cs文件中配置了身份验证和身份功能。 1 2 3 4...
  • qq_36598803
  • qq_36598803
  • 2017年08月31日 11:48
  • 342

iOS Development Guideline

iOS开发指南索引
  • xiemotongye
  • xiemotongye
  • 2014年03月12日 11:29
  • 1141

PLA1.2被拒 Guideline5.2.1被拒 马甲包被拒

编者:这么多人还在为PLA1.2(Apple Developer Program License Agreement)/Guideline5.2.1(App Store Review Guidelin...
  • YCM1101743158
  • YCM1101743158
  • 2017年12月04日 23:57
  • 459

ASP.NET的CMS代表作DNN7--这下默认界面总算是可以拿得出手了

DNN7出来了已经有一段时间了,由于开发人员固有的惰性或者是怯于缺乏对DNN的整体把握,因此拖了很久都没有尝试一下最新的DNN7安装。最近总算哟时间做了一下尝试,安装后第一眼的感觉对DNN7还是可以说...
  • missautumn
  • missautumn
  • 2013年11月16日 22:41
  • 1955

ASP.NET Core 和 EF Core 系列教程——迁移

ASP.NET Core 和 EF Core 系列教程——迁移(4 / 10)作者:Tom Dykstra和Rick AndersonContoso 大学示例 web 应用程序演示如何使用 Entit...
  • qq_17004327
  • qq_17004327
  • 2017年12月26日 21:16
  • 249

[译] ConstraintLayout基础系列之参照线guidelines

原文:ConstraintLayout basics guidelines 作者:Mark Allison什么是参照线 guidelines如果你熟悉 UI 设计软件你应该已经使用过参照线 guid...
  • biaomingzhong
  • biaomingzhong
  • 2017年05月25日 09:51
  • 245

iOS APP提交审核被拒因Guideline 2.5.2 - Performance - Software Requirements

开发者中心收到"违反政策通知",提示6月12号之前更新 APP, 否则下架.原因如下 网上各种百度 Google, 知道苹果不允许使用私有方法 dlopen(), dlsym().项目中许多第三...
  • Banana_Banana
  • Banana_Banana
  • 2017年06月07日 16:11
  • 3985

iOS AppStory审核失败总结

1.项目用到极光推送,在安装app时,获取registrationID,在登录时邦定userID和registrationID,方便给每个人推送。但是产品定逻辑时就是登录前必须开启推送,在提交苹果审核...
  • liRuixuesongXueqian
  • liRuixuesongXueqian
  • 2017年08月02日 09:58
  • 1956
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP->ASP.NET 迁移的Guideline
举报原因:
原因补充:

(最多只允许输入30个字)