Asp.net mvc 经典的ASP和MVC并排,不同的项目?
我试着用几种不同的方式问这个问题,但让我们再试试(因为我还没有得到答案,这让我发疯!) 我有一个非常大的经典ASP 3.0应用程序(~350K行),我想开始迁移到ASP.NET MVC。我想将旧的ASP文件与MVC文件分开保存在一个单独的项目中Asp.net mvc 经典的ASP和MVC并排,不同的项目?,asp.net-mvc,asp-classic,projects-and-solutions,migrate,Asp.net Mvc,Asp Classic,Projects And Solutions,Migrate,我试着用几种不同的方式问这个问题,但让我们再试试(因为我还没有得到答案,这让我发疯!) 我有一个非常大的经典ASP 3.0应用程序(~350K行),我想开始迁移到ASP.NET MVC。我想将旧的ASP文件与MVC文件分开保存在一个单独的项目中 关于如何调试这些的想法?我是否应该将文件转储到同一个文件夹中,然后创建两个不同的项目(WAP和MVC应用程序),以引用每个项目所需的相关文件和文件夹?这应该行得通,但有人有更好的主意吗?我需要能够单独迁移应用程序的一小部分,因为这可能需要一到两年的时间才
关于如何调试这些的想法?我是否应该将文件转储到同一个文件夹中,然后创建两个不同的项目(WAP和MVC应用程序),以引用每个项目所需的相关文件和文件夹?这应该行得通,但有人有更好的主意吗?我需要能够单独迁移应用程序的一小部分,因为这可能需要一到两年的时间才能完成。免责声明这是我的想法,我从来没有这样做过,可能会偏离目标: 在初步审查后,我认为您有以下三种备选方案:
我没有涉及过URL重写和许多其他需要考虑的方面,请注意,每种方法都有明显的缺点,您可能需要考虑。p> 总而言之,我认为您最大的问题将是来自mvc端的HttpApplication、Session和TempData,以及来自asp.net端的view state。Url重写,身份验证应该更容易
正如阿甘所说,“这是我的想法”。经过大量研究,我发现从IIS的角度来看,保持这些项目合并的一个好方法,但在Visual Studio中的不同项目中,就是在同一文件夹中创建项目,但将每个项目的文件保留在各自的.csproj文件中 通过这种方式,可以将它们单独发布或作为解决方案发布,通过查看解决方案资源管理器,我可以很容易地判断哪些文件属于每个项目。当项目从经典ASP(同样,不是.NET)移动到MVC时,我将ASP项目中的旧文件夹从
name
重命名为delete me name
,并在MVC项目中创建相应的区域
到目前为止,这一切都很顺利。唯一的其他更改是在global.asx.cs文件中添加了路由忽略规则以忽略.asp文件:
routes.IgnoreRoute("{resource}.asp/{*pathInfo}");
到目前为止,一切似乎都运行得很好。您是想将应用程序整体转换为ASP.NET MVC,还是只是通过将一个应用程序转换为MVC来“拥抱并扩展”旧应用程序?“拥抱并扩展”可能最能描述我所追求的。例如,我们在/forum文件夹中有一个ASP讨论论坛。我想在MVC项目中创建一个名为“论坛”的区域,并从ASP站点中删除相同的文件夹,然后让MVC论坛接管。对于这样一个规模的网站,唯一的方法就是一件一件地完成。感谢您的详细回复。实际上,我正在将一个经典的ASP应用程序(不是.net)与MVC相结合,但我认为您在这里提到的几乎所有内容仍然适用。我们正在尝试做同样的事情,经典ASP与ASP.net MVC4,但到目前为止运气不佳,这些想法对我们来说都不起作用。我们需要将它们放在同一个应用程序域中,以便