代码之家  ›  专栏  ›  技术社区  ›  Sklivvz

如何将旧的ASP应用程序转换为ASP.NET?

  •  15
  • Sklivvz  · 技术社区  · 16 年前

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

    是否有方法将它从ASP自动转换为ASP.NET?

    4 回复  |  直到 9 年前
        1
  •  9
  •   Ispirer SQLWays Migrations Alvin    9 年前

    好, 我曾经在一家公司工作,那里所有的网络应用都是经典的ASP。 当决定转移到.NET时,我们必须找到一种转换168的方法!Web应用程序进入这个新框架。 我尝试了当时所有可用的工具,但都失败了。

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

    此外,如果后端有数据库,那么从Web应用程序到数据库的连接就会遇到问题。

        2
  •  19
  •   mdb    15 年前

    即使有在经典ASP和ASP.NET之间转换的工具,它们也不会产生非常好的结果:这两个环境完全不同。一个快速的谷歌会出现一些结果,主要是“我们会让我们在印度的人做它”的变化。

    我的建议是现在不要碰你现有的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自定义视图引擎,所以尽管它处于测试状态,但它似乎绝对值得关注……
        3
  •  8
  •   Community rcollyer    7 年前

    微软有一篇关于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
  •  1
  •   mark    10 年前

    gmstudio是一个全面的vb6/asp/com到.net升级工具。它可以读取、分析、解释、重写和重构(如c或vb.net)单个页面+包含或整个站点。

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

    工具已背书 on MSDN here.

    一个(旧的)演示视频是 on ScreenCast here. (我真的需要更新这个!在此之前,如果您希望现场演示查看最新版本,请通知我。)

    还有很多事要说 contact us if you are intrested.

    免责声明:我为伟大的移民工作。