将旧的Webforms应用程序迁移到asp.net mvc?

时间:2011-10-07 06:30:19

标签: asp.net-mvc-3 webforms legacy-code

有没有人有关于从ASP.NET Webforms迁移到ASP.NET MVC的最佳实践的良好链接或提示?

我们有一个大型的webforms应用程序,我们希望逐个迁移到MVC。这是我们目前的设置。

两个大型Webforms项目(VB) 多个类库和服务(C#和VB.Net) 亚音速2.2数据访问层 SQL Server 2008 DB

我们正在考虑以下事项:

  • 保持经典的webforms项目在开发时保持原样运行。
  • 使用Razor视图引擎创建基于MVC 3的新MVC项目
  • 使用Nhibernate(存储库模式)DAL
  • 在MVC项目中按模块转换/构建现有功能模块
  • 如果可能,用新的MVC模块替换旧webforms项目中的某些功能。通过例如集成。内部框架。
  • 新的MVC应用程序将完全取代旧的webforms项目。

我们希望将DB保持原样,因此我们还需要一个工具来基于数据库创建模型。

这是一个可能的解决方案吗?

2 个答案:

答案 0 :(得分:4)

WebForms应用程序使用服务器端会话很多,因为大多数服务器控件都在内部使用它。您将无法使用您在MVC3中的WebForms中使用的任何服务器控件(至少没有一些修改)。

MVC3促进使用restful架构,其中任何状态都以html或url或cookie维护,这些是我认为你应该重新考虑转换为MVC3的决定的原因。这样做只会给你一个巨大的优势,因为我怀疑你会重新发明你现有的应用程序 - 我怀疑在开发新应用程序时会有相同的努力进行迁移。

如果你的目标是使用MVC进行未来的开发,那么没有什么能阻止你在你的webforms应用程序中创建MVC的“区域”或“区域”。

如果您仍想转移到MVC3,请查看here

答案 1 :(得分:1)

这是好的解决方案。同样对于NHibernate,您可以使用MyGeneration with NH插件在现有数据库的基础上生成模型。并且还可以在一个Web应用程序中托管WebForms和MVC。刚刚完成了相同的任务。但是使用EF作为DAL。