繁体   English   中英

从asp classic转换为asp.net的最简单方法是什么?

[英]What is the easiest way to convert from asp classic to asp.net?

我是一名.Net开发人员,其任务是将经典的asp网站升级到asp.net。 该网站目前正在运气和泡泡糖,但没有足够的时间或金钱来阻止进展并进行全面改写。 当然,在升级时我仍然需要能够提供新功能。

我应该采用什么策略来逐步改变asp.net? 我应该转换为单层.net解决方案,然后重构为适当的多层解决方案,还是应该现在设计我的业务和数据层? 我应该直接使用3.5还是更容易获得1.1并升级到2.0或3.5之后?

完全转换可能需要3-5个月。 还有一些现有的1.1代码,这就是我考虑将其作为起点的原因。

不要丢弃你的代码!

这是您可以犯的最大错误(在大型代码库上)。 你不应该做的事情,第1部分

您已经在这些旧代码上投入了大量精力并制定了许多错误。 抛弃它是一个典型的开发人员错误(我已经做了很多次)。 它会让你感觉“更好”,就像春季大扫除一样。 但是你不需要买一套新公寓和所有新家具来装你的房子。 你可以一次在一个房间工作......也许有些东西只需要一个新的paintjob。 因此,这就是重构的地方。

对于应用程序中的新功能,请使用C#编写它并从您的经典ASP中调用它 重写这个新代码时,你将被迫成为模块化的。 当你有时间时,将旧代码的一部分重构为C#,并随时解决错误。 最终,您将使用所有新代码替换您的应用。

您也可以编写自己的编译器。 很久以前我们为经典的ASP应用程序写了一个,以便我们输出PHP。 它被称为Wasabi ,我认为这就是杰夫阿特伍德认为Joel Spolsky脱离摇滚乐的原因。 实际上,也许我们应该发货,然后你可以使用它。

它允许我们将整个代码库切换到.NET以用于下一个版本,同时只重写我们源代码的一小部分。 它也让很多人称我们为疯了,但编写编译器并不复杂,它给了我们很大的灵活性。

此外,如果这是一个内部唯一的应用程序,请保留它。 不要重写它 - 你是唯一的客户,如果你需要将它作为经典的asp运行,你就可以满足这个要求。

作为一名长期经典的asp程序员,现在是一名ASP.NET开发人员,我会花时间在2.0框架中正确构建它(如果你想要/需要这些功能,则需要3.5)。

我上一份工作,我们有一大堆非常糟糕的经典asp应用程序,我们正在重建,“核武器和铺路”方法是最成功的。 使用现有的经典应用程序作为功能规格和线框,并构建您的任务和技术规格。

完成转换/重写需要多长时间? 它还将取决于您如何构建原始项目。

可以回答你应该从一开始就针对v2.0(如果你想要/需要它的功能为3.5)。 没有必要让自己接受1.1的框架。

最简单的方法就是首先跳入头部。 获得一些asp.net书籍并深入视觉工作室。 做例子,玩它,为自己创造一些有趣的东西。 你会从中学到。

我也在努力逐步从经典ASP迁移到ASP.NET。 我们的第一个阶段是将一些常见逻辑从ASP包迁移到暴露给COM Interop的.NET程序集,以便它们可以被经典ASP和ASP.NET调用。 我使用ASPUnit编写了一些测试来验证迁移到.NET程序集后的行为(还有更安全的重构的好处)。 一旦核心逻辑在.NET中,我们就可以开始在ASP.NET中创建新页面,并按照自己的进度将各个ASP页面迁移到ASP.NET。

我建议.NET 2.0或3.5超过1.1。 ASP.NET MVC看起来像一个有吸引力的升级路径。

您可能希望查看新的ASP.NET MVC框架。 灵活性水平令人惊叹,编码风格略微类似于ASP经典方法,尽管教堂和州之间的分离更好。

看看Snitz论坛(www.snitz.com) - 它们目前在ASP中,但ASP.NET的端口几乎完成。 这两个代码库都可供您查看,因此您可以了解它是如何完成的,以帮助您。

因为微软在10/14/2008结束了对.NET Framework v 1.1的支持,所以我会避免进入.NET 1.1。 扩展支持将持续到2013年10月8日,但购买通常很昂贵。 任何错误或安全漏洞都不会被解决,这是您的问题。

http://support.microsoft.com/lifecycle/?LN=en-us&x=11&y=10&p1=1249

保罗

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM