ASP.NET MVC VS的WebForms:速度和结构的比较[关闭](ASP.NET MVC v

2019-06-24 00:20发布

我有一个论据与我的朋友谁是一个相当大的互联网公司的建筑师之一。 基本上,他说,ASP.NET MVC是不是大型企业应用中,它并不像的WebForms灵活,而且一个MVC应用程序会比一个Web窗体应用程序慢。

从我自己的经验与MVC的工作,我可以说,它更灵活,它重量更轻,因为没有页面生命周期,视图状态等。它应该这样加载速度至少是。 据我所知,MVC是专为中型到大型交通。

你们有什么感想? 有没有人比速度和性能? 而且是ASP.NET MVC大规模应用比ASP.NET的WebForms更好?

总之,这两种选择之间,你会选择哪个要用于大型企业应用程序?

Answer 1:

  • 发展速度:Web窗体
  • 性能速度:MVC
  • 易用性:Web窗体(通常)
  • 单元测试:MVC(通常)


Answer 2:

这个网站是ASP.net MVC的性能和扩展一个最好的例子

我认为这是必要的企业和MVC提供了一些功能

  1. 单元测试 -即使它需要时间来初步实现这一点,可以节省大量的时间在未来

  2. 关注点分离 -这确实提高了开发和修改速度

  3. 性能 -因为这两个MVC和Web表单使用相同的ASP.net为核心框架,MVC是更轻,HTTP兼容它给你更好的性能



Answer 3:

我认为MVC是一个打火机框架,更好的性能,因为它不会做了很多的WebForms的框架做开箱即用,像视图状态例如事情。 我不认为这是公平地说,MVC是不是更大规模的应用,因为它可能鳞比的WebForms更好地将在性能方面。 在开箱即用的功能而言,确实的WebForms更适合你,因为它处理的帖子你之间的状态,通过视图状态等。

我没有性能比较任何联系我,但如果没有任何在那里我会感到非常惊讶。 即使微软可能有一些。



Answer 4:

集体思维和船货崇拜编程是强在这个线程。 你的建筑师朋友都是正确的(可能是错误的原因),并错误的同时。

它并不像WebForms的灵活

这仅仅是愚蠢的。 你可以做任何事情。 他们都非常灵活。 在flexiblity方面MVC很可能是明显的赢家这里就可以轻松实现使用ActionFilters看点导向编程(AOP)。 另一个原因MVC是有可能的赢家是依赖注入在MVC想到的。 你可以在Web窗体控制和依赖注入的反转,但它需要涉及到模型 - 视图 - 演示模式复杂的实现。

MVC应用程序会比一个Web窗体应用程序慢。

这要求,书面无效。 任何应用程序可以比较慢,因为它是一个涉及许多方面达成了最终产品的复杂的过程被写入。 然而,在原始速度方面。 web表单基本上更快 。 https://stackoverflow.com/a/20253243/37055

它重量更轻,因为没有页面生命周期,视图状态等。因此,它应该载入速度至少是

这也是一个无效的声明作出。 因为在MVC推论生命周期的问候控制器和行动的过滤器页面生命周期的各个环节无关。 视图状态是有趣......如果你选择的东西100S和数据的千字节的1000到每一个需要回发到服务器拥有1MB,5MB请求视图状态,是的,它显然会更快地做几乎任何不同。 这不是WebForms的故障,不过网络表单,允许您使用视图状态陷入失败的坑很容易。

是ASP.NET MVC大规模应用比ASP.NET的WebForms更好?

第然而,这个问题的答案“是大型应用程序比ASP.NET的WebForms ASP.NET的WebForms?” 答案还是否定答案是否定的,因为答案永远是它依赖 。 每个框架都有优点/缺点,你需要衡量这些,也没有明确的答案。

如果你正在构建一个内容驱动的网站谁的工作是有可能的最快的页面加载时间,如www.microsoft.com ,那么你很可能会选择web表单。

你会选择使用一个大型的企业应用程序?

首先,你很可能就没有这个问题。 你不会在一个位置,问这个问题,如果你是真正负责任的建筑师大规模企业应用程序。 (或招聘过程中实际上并没有要求大规模开发经验)。

在大规模应用方面你选择的框架几乎是毫无意义的。 大规模应用是建立在排队。 他们将利用工具,如MSMQ直接或通过一个servicebus如:地下,Azure的服务总线,或NServiceBus。 只有排队就可以达到规模以处理数以百万计的请求亚马逊,eBay和所有其他主要球员的方式做。



文章来源: ASP.NET MVC vs WebForms: speed and architecture comparison [closed]