ASP.NET MVC已在此论坛上多次discussed。我即将从经典的ASP / ASP.NET WebForms到ASP.NET MVC进行大量迁移的几个网站,并且想知道那些对这两种技术都有经验的人有什么建议。< / p>
我所拥有的:一个典型的ASP.NET应用程序,具有高度耦合的表示/业务逻辑,各种混乱的ASP.NET生成的Javascript cruft,等等。
我想要的是:清理ASP.NET MVC生成的不可知标记。 '努夫说。
要注意的任何指示,提示,技巧或陷阱?
谢谢!
答案 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应用程序来转换它并将代码拆分到各自的层中。这将使您重复使用移植其他应用程序。