17

我们有一个大型 ASP(经典 ASP)应用程序,我们希望将其转换为 .NET 以便进一步发布。继续使用 ASP 是没有意义的,因为它已经过时了,而且我们不想从头开始重写它(Joel Spolsky 告诉你原因)。

有没有办法自动将它从 ASP 转换为 ASP.NET?

4

4 回答 4

20

即使有工具可以在经典 ASP 和 ASP.NET 之间进行转换,它们也不会产生很好的结果:这两种环境根本不同。快速谷歌搜索了一些结果,主要是“我们将让我们在印度的人这样做”的种类。

我的建议是暂时不要触碰您现有的 ASP 代码。在可预见的将来,运行时环境将得到微软的支持,因此无需紧急迁移。相反,开始在 ASP.NET 中开发新功能:这样,您将不会被遗留概念所阻碍,并且可以以任何您看到的方式使用框架(包括 ASP.NET MVC 之类的东西)提供的新酷合身。

当然,您的新代码将需要与现有的 ASP 环境一起使用。在 ASP 和 ASP.NET 之间共享会话状态很可能是您的首要要求之一,但您很快就会发现更多类似的问题。

此类问题的“正确”解决方案将完全取决于您当前的代码和要求:有时,您可以将 .NET 代码包装在 COM 对象中以供 ASP 代码使用,有时部分移植/迁移可能是解决方案.

但是,平均而言,“两个世界”的方法应该是完全可行的,并且允许您开发令人兴奋的新功能而不必担心您的遗留代码。


2009 年 12 月对原始答案的补充:刚刚遇到ASP Classic Compiler,这是一个积极维护的 VBscript 编译器,可将经典 ASP 页面转换为在 ASP.NET 上本机运行的代码。它有几个很酷的特性,比如能够将它用作 ASP.NET MVC 自定义 ViewEngine,所以尽管它处于 beta 状态,但它看起来绝对值得关注......

于 2008-09-21T14:17:10.317 回答
12

嗯,我曾经在一家所有 Web 应用都是经典 ASP 的公司工作。当决定迁移到 .NET 时,我们必须找到一种方法将 168(!) Web 应用程序转换为这个新框架。我尝试了当时所有可用的工具来做到这一点,但都失败了。

最好的方法是构建一个新的 Web 服务器并从头开始,这样您就可以确保升级会很快发生,并且由于新旧集成而不会出现任何问题。您将能够选择要保留的功能和视觉外观以及要更改的功能和视觉外观。不要将您的时间浪费在将旧的 ASP 文件/站点升级到 NET 平台的自动工具上。到目前为止,没有一个工作正常。

最重要的是,如果您在后端有数据库,您将遇到从 Web 应用程序连接到它的问题。

于 2010-12-23T14:07:22.420 回答
10

微软在 MSDN 上有一篇关于将ASP 页面迁移到 ASP.NET的文章。他们基本上告诉您在您的计算机/服务器上安装 .net 并一次转换一页。ASP 和 ASP.NET 可以共存,因此可以随时将每个页面重命名为“aspx”。但是,您应该注意,会话状态和应用程序状态不会在 ASP 和 ASP.NET 页面之间共享(有关该问题的解决方法,请参阅@mdb 的答案。)

还有The ASP to ASP.NET Migration Assistant,但我不确定项目/程序是否仍然处于活动状态。您可以通过从该页面下载来尝试:

http://www.asp.net/downloads/archived/migration-assistants/asp-to-aspnet/

于 2008-09-21T14:15:42.143 回答
2

gmStudio 是一个全面的 VB6/ASP/COM 到 .NET 的升级工具。它可以读取、分析、解释、重写和重组(如 C# 或 VB.NET)单个页面+包含或整个站点。

自 2007 年以来,该技术一直在积极开发中,我们使用它来帮助我们重写从几百页到几千页不等的网站。

该工具在 MSDN 上得到认可。

一个(旧的)演示视频在 ScreenCast 上。(我真的需要更新这个!在那之前,如果你想要一个现场演示来看看最新的,请告诉我。)

还有很多要说的,如果您有兴趣,请与我们联系。

免责声明:我为大迁徙工作。

于 2014-11-20T03:28:07.017 回答