C# 是否可以将一个巨大的WebForms网站移动到MVC?

C# 是否可以将一个巨大的WebForms网站移动到MVC?,c#,asp.net-mvc,asp.net-mvc-3,webforms,C#,Asp.net Mvc,Asp.net Mvc 3,Webforms,这是一个完整的大学网站 一些旧页面是经典的ASP,而所有新页面都是ASP.NET,带有C#代码。我们现在正在运行ASP.NET4,所以我们将迁移到MVC3 所以有一些问题, 我们如何着手迁移此网站?我读过一点,看起来可以同时做MVC和Web表单,但这有多安全 文件夹结构…我们的是大的。而且很复杂。考虑到我们庞大的设置,混合设置有多安全 真的值得吗?我最近一直在研究和阅读MVC,并将其用于个人网站,但这将是一个巨大的变化 有人能把我和几个大型MVC项目的例子(带源码!)联系起来作为参考吗?我想看

这是一个完整的大学网站

一些旧页面是经典的ASP,而所有新页面都是ASP.NET,带有C#代码。我们现在正在运行ASP.NET4,所以我们将迁移到MVC3

所以有一些问题,

  • 我们如何着手迁移此网站?我读过一点,看起来可以同时做MVC和Web表单,但这有多安全

  • 文件夹结构…我们的是大的。而且很复杂。考虑到我们庞大的设置,混合设置有多安全

  • 真的值得吗?我最近一直在研究和阅读MVC,并将其用于个人网站,但这将是一个巨大的变化

  • 有人能把我和几个大型MVC项目的例子(带源码!)联系起来作为参考吗?我想看看来源

  • 这种变化需要多长时间


这基本上相当于对站点的完全重写。任何不足之处都是努力的糖衣。即使您重复使用所有的网页,并且几乎不使用MVC框架的任何功能,回归测试本身也将构成一个完整的项目


如果您已经决定无论如何重新编写应用程序,那么这是值得的。如果你打算重做,MVC将是一个很好的方式,否则-我不羡慕你。

这个问题相当模糊!是的,有可能。让应用程序架构师在当前站点中工作,并制定计划将其转换为MVC。不过,我认为混合使用方法论是一个非常糟糕的主意。两者之间的界限往往很模糊,如果您现有的员工习惯使用webforms,那么您将不可避免地将webform实践“泄漏”到MVC站点中。承诺改变,或者根本不做


这个改变值得吗?大概离开传统的asp是一个很好的选择,因此有一点值得支持。想到的其他事情:你当前网站的痛点是什么?它不稳定吗?您的经典asp是否陷入了大量包含文件的泥潭?网站的模块化程度如何?你觉得你的员工可以接受MVC培训吗?你需要什么样的预算来进行过渡?什么样的时间表?如果失败,您的组织将损失多少钱?可信度有多高?如果你失败了,你会为你的竞争对手创造什么样的机会?

是的,这要看情况而定。您最好创建一个新的MVC站点,并逐步从旧站点移动内容。从理论上讲,在同一个站点上运行经典的ASP、WebForms和MVC是可能的,但会增加高度的复杂性。请记住,这可能是一座不值得攀登的山,除非你能把它分成更容易管理的部分。我给你的建议是,尝试在现有项目中迁移一些影响最小的东西,看看它是否能够集成并“与其他项目配合良好”。也许你应该保持当前项目的运行状态,只需处理新MVC项目的某些部分。通过这种方式,您可以一部分一部分地转移到新项目中,而不会弄乱您的两个项目。我以前在这方面失败过,试图将这两种类型都保留在同一个项目中,因此我不推荐它。网站的大部分内容都是文本、表单和图片。典型的大学网站。将每个表单“转换”为等效的MVC视图需要多长时间?如中所述,如果制作原始表单需要一个小时,我是否应该预计新表单所需的时间要少得多(至少在我投入更多的时间之后),还是应该花费相同的时间?谢谢我不知道我们如何回答这个问题,因为这实际上取决于你想投入多少精力。你必须清理HTML吗?是否从表格布局站点转换?你是否已经建立了一个干净的网站模板,或者你必须从头开始?您编写.NET代码的速度有多快?等等。你最好的办法就是制作这个原型。尝试转换一页。然后通过你的网站推断。然后把你得到的数字增加三倍。这可能会让你接近整体努力。