Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将旧版ASP应用程序转换为ASP.NET?_Asp.net_Asp Classic_Code Conversion - Fatal编程技术网

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

如何将旧版ASP应用程序转换为ASP.NET?,asp.net,asp-classic,code-conversion,Asp.net,Asp Classic,Code Conversion,我们有一个大型ASP(经典ASP)应用程序,我们希望将其转换为.NET,以便在以后的版本中工作。继续使用ASP毫无意义,因为它已经过时,我们不想从头重写它(JoelSpolsky告诉你) 有没有一种方法可以将它从ASP自动转换为ASP.NET?微软在MSDN上有一篇文章谈到。它们基本上告诉您在计算机/服务器上安装.net,并一次转换一个页面。ASP和ASP.NET可以共存,因此可以在运行时将每个页面重命名为“aspx”。但是,您应该注意,ASP和ASP.NET页面之间不共享会话状态和应用程序状态

我们有一个大型ASP(经典ASP)应用程序,我们希望将其转换为.NET,以便在以后的版本中工作。继续使用ASP毫无意义,因为它已经过时,我们不想从头重写它(JoelSpolsky告诉你)


有没有一种方法可以将它从ASP自动转换为ASP.NET?

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

还有,但我不确定项目/程序是否仍处于活动状态。您可以从本页下载来尝试:


即使有一些工具可以在经典ASP和ASP.NET之间进行转换,它们也不会产生很好的效果:这两种环境完全不同。一个快速的谷歌搜索就会出现一些结果,大部分是“我们会让我们在印度的人去做”的结果

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

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

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

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


2009年12月对原始答案的补充:刚刚遇到,这是一个积极维护的VBscript编译器,可将经典ASP页面转换为在ASP.NET上本机运行的代码。它有几个很酷的功能,比如可以将其用作ASP.NET MVC自定义视图引擎,因此尽管它处于测试状态,但它绝对值得关注……

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

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


此外,如果后端有数据库,则从web应用程序连接到数据库时会遇到问题。

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

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

该工具得到认可

一个(旧的)演示视频是(我真的需要更新这个!在那之前,请让我知道,如果你想现场演示看到最新的。)

还有很多话要说

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