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

5

ASP.NET MVC在这个论坛上已经讨论过几次。我即将对多个网站进行大规模迁移,从经典的ASP/ASP.NET WebForms到ASP.NET MVC,并想知道那些有经验的技术人员有什么建议。

我现在拥有的是:一个典型的ASP.NET应用程序,具有紧密耦合的演示/业务逻辑,各种混乱的ASP.NET生成的Javascript垃圾等等。

我想要的是:干净的ASP.NET MVC生成的不可知标记。就这样。

有任何指针、技巧、诀窍或需要注意的地方吗?

谢谢!

4个回答

3

哇,我不确定我们现在还在谈论迁移 - 差异更像是重新编写!


正如其他人所说,MVC是一种全新的构建Web应用程序的方式 - 大部分的展示代码都无法转移。

然而,如果你正在MVC中重新编写已有的内容,那么你已经拥有了一个很好的原型。你的问题可能在于难以逐步完成 - 例如,MVC默认使用URL重命名,使得来回链接变得非常混乱。

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

如果我现在正在考虑一个新应用程序,MVC将是一个非常强有力的候选,但是在项目后期切换到它并没有足够的收益。


2
有什么提示、技巧、诀窍或需要注意的事项吗?
嗯,我想你可能还需要一些时间才能考虑技巧和需要注意的事项 :) 正如你所知道的,ASP.NET MVC不是ASP.NET的新版本,而是与ASP.NET完全不同的范式,你不会进行迁移,而是启动一个全新的开发工作来替换现有系统。因此,也许你可以在确定应用程序要求方面先占据优势,但其余部分可能需要从头开始重建。
基于你描述的现有代码库中的(非常普遍的)问题,你应该考虑利用这个机会学习一些设计松散耦合系统的当前最佳实践。这很容易做到,因为现代的“最佳实践”易于理解和实践,并且有巨大的社区支持和高质量的开源工具可帮助完成这一过程。
我们目前也正在将一个ASP/ASP.NET应用程序转移到ASP.NET MVC,这是我的准备性研究得出的结论。
这段文字提到了一些关于ASP.NET MVC的链接和资源,建议先阅读这篇文章,它讨论了NHibernate(一个ORM工具)并且提供了其他相关资源。其中一些参考架构是基于ASP.NET MVC的,可以帮助你快速了解如何设计一个最佳、可维护的ASP.NET MVC网站。

1

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


0

我的观点是,这两种技术非常不同,如果您在原始Web表单应用程序中有紧密耦合的代码,那么最好的方法是首先选择其中一种技术,并通过创建新的ASP.NET MVC应用程序并将代码分离到各自的层中进行转换。这将为您提供重用的线索,以便移植其他应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接