从ASP.NET WebForms迁移到ASP.NET MVC的建议?

时间:2008-08-17 16:18:54

标签: .net asp.net asp.net-mvc webforms

ASP.NET MVC已在此论坛上多次discussed。我即将从经典的ASP / ASP.NET WebForms到ASP.NET MVC进行大量迁移的几个网站,并且想知道那些对这两种技术都有经验的人有什么建议。< / p>

我所拥有的:一个典型的ASP.NET应用程序,具有高度耦合的表示/业务逻辑,各种混乱的ASP.NET生成的Javascript cruft,等等。

我想要的是:清理ASP.NET MVC生成的不可知标记。 '努夫说。

要注意的任何指示,提示,技巧或陷阱?

谢谢!

4 个答案:

答案 0 :(得分:3)

哇,我不确定我们是不是在这里谈论移民 - 差别更像是重写!


正如其他人所说,MVC是一种构建网络应用程序的全新方式 - 大部分演示代码都无法实现。

但是,如果你正在重写MVC,你已经拥有的是一个很好的原型。你的问题很可能是一点一点都难以做到 - 例如MVC使用开箱即用的URL重命名,使得链接来回相当混乱。

另一个问题是为什么?我们中的许多人拥有庞大的遗留应用程序,我们希望采用最新技术,但如果您的应用程序已经在工作,为什么要切换?

如果我现在正在研究一个新的应用程序MVC将是一个非常强大的候选者,但是没有足够大的收益可以在项目后期切换到它。

答案 1 :(得分:2)

  

任何指针,提示,技巧或   陷入困境?

好吧,我觉得你可能还有一些方法可以不去考虑技巧和陷阱:)我确信你知道,ASP.NET MVC不是ASP.NET的新版本,但是与ASP.NET完全不同的范例,你不会迁移,你将会发起一个全新的开发工作,以取代现有的系统。所以也许你可以在确定应用程序的需求方面获得一席之地,但其余部分可能会从头开始重新构建。

根据您在现有代码库中描述的(非常常见)问题,您应该考虑借此机会了解设计松散耦合系统的一些当前最佳实践。这很容易做到,因为现代“最佳实践”易于理解且易于实践,并且有大量的社区支持和高质量的开源工具来帮助完成这一过程。

我们此时正在将ASP / ASP.NET应用程序移动到ASP.NET MVC,这也是我的预备研究带给我的结论。

Here is a post to links on using ASP.NET MVC,但我会从reading this post开始。这篇文章是关于NHibernate(一个ORM工具)的表面,但讨论和链接是关于正确的基础,并准备将ASP.NET站点移植到MVC。在该帖子中链接的一些参考体系结构基于ASP.NET MVC。 Here is another post about NHibernate,但在“最佳实践和参考应用程序”部分中,大多数(如果不是所有)列出的参考应用程序也是ASP.NET MVC应用程序。参考体系结构对于快速了解如何设计最佳,可维护的ASP.NET MVC站点非常有用。

答案 2 :(得分:1)

WebForms可以在同一个应用程序中使用MVC控制器。默认情况下,路由不会路由对磁盘上存在的文件的请求。因此,您可以一次开始重写站点的一小部分以使用MVC模式,并使用WebForms保留其余部分。

答案 3 :(得分:0)

我的观点是,这两种技术是如此不同,如果你在原始Web窗体应用程序中紧密耦合代码,最好的方法是从选择其中一个并通过创建一个新的ASP.NET MVC应用程序来转换它并将代码拆分到各自的层中。这将使您重复使用移植其他应用程序。