从ASP.NET WebForms迁移到MVC

Con*_*ell 5 c# asp.net asp.net-mvc webforms

我已经阅读了大量的问题和文章,说明从ASP.NET Webforms转换到MVC几乎是不可能的.不过我认为我的情况有所不同.

我大约一年前在Webforms中愚蠢地开始创建一个项目,但我采用的方法(据我所知)非常像MVC.我已禁用表单验证,不使用任何回发,使用URL重写和所有页面更改是加载ContentPlaceHolders的页面内容的AJAX请求(使用小hack,覆盖RenderControl方法).我还在网站中引用的单独项目中使用了自己的ORM和RESTful Service API.

现在系统运行良好,页面部分刷新正常,并且在进行ajax调用时更改了URL,因此当刷新页面时,它看起来完全相同.

现在我刚刚被告知我需要为一个新的大项目学习MVC(但我必须先完成另一个项目),但我已经完成了一些关于这个主题的阅读,并启动了一些Hello World应用程序,它似乎ASP.NET MVC的想法几乎就是我已经创建的.

StackOverflow仍然建议不要将Webforms应用程序转换为MVC吗?除了最佳实践之外,转换到MVC还有其他好处吗?

Hac*_*ese 3

我有一个非常大且旧的 ASP.NET WebForms 应用程序(最初是为 .NET 1.1 编写的!),并启用了 MVC 在其中并行工作。我一直在使用 MVC 编写新功能,并将旧的 WebForms 功能转换为 MVC 控制器和视图。

我遇到了一些有关 URL 授权和在 IIS 集成模式下运行的小问题,但一旦我理解了这些问题,它们就很容易解决。那么几乎不可能吗?当然不是!

我无法告诉您是否值得花时间进行转换,因为我不知道您的应用程序的大小、范围或性质,或者任何业务限制。然而,迁移到 MVC 对于简化开发和提高质量来说是一个相当大的好处(因为它更容易划分和单元测试)。更不用说,我在 MVC 中编写(或重写)的功能比 WebForms 等价物更干净、更快、响应更快。

我很高兴将其从 MVC v2 移至 v3,并转换为 Razor 视图。我也会?如果我是你并且我有时间,我就会这样做。

这是我发布的一个问题,概述了转换过程以及我在转换过程中遇到的更重要的问题之一。将旧版 ASP.NET 迁移到 MVC 2 (RC):HttpApplication 事件未触发,用户主体为 null