【问题标题】:How do I convert legacy ASP applications to ASP.NET?如何将旧 ASP 应用程序转换为 ASP.NET?
【发布时间】:2008-09-21 13:53:30
【问题描述】:

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

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

【问题讨论】:

    标签: asp.net asp-classic code-conversion


    【解决方案1】:

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

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

    当然,您的新代码需要与现有的 ASP 环境一起工作。 Sharing session state between ASP and ASP.NET 很可能是您的首要要求之一,但您很快就会发现更多类似的问题。

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

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


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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

        还有The ASP to ASP.NET Migration Assistant,但我不确定该项目/计划是否仍处于活动状态。你可以从这个页面下载试试:

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

        【讨论】:

          【解决方案4】:

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

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

          该工具被on MSDN here.认可

          一个(旧的)演示视频是on ScreenCast here.(我真的需要更新这个!在此之前,如果你想观看最新的现场演示,请告诉我。)

          还有很多要说的,请contact us if you are intrested.

          免责声明:我为 Great Migrations 工作。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2010-10-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-09-08
            • 2015-08-05
            • 2012-03-28
            • 2013-11-09
            相关资源
            最近更新 更多