为什么我要在公共站点上使用ASP.NET MVC,在Intranet上使用WebForms?

为什么我要在公共站点上使用ASP.NET MVC,在Intranet上使用WebForms?,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我问了这个问题: 有几个答案是,如果网站是公共/互联网,使用MVC,但是如果它是内部的,使用WebForms。我看到了其中的一些原因,但其中一些并没有真正帮助我理解为什么这种理性会如此 我希望得到评论。除了一个小型的一次性网站之外,我为什么不想在所有方面都使用ASP.NETMVC呢?为什么因特网或内部网很重要 而且,我知道一个工具并不是万能的。我不想使用webforms,不是因为我认为我不能使用,也不是因为它有点“不好”。在这个问题中,我特别想问的是MVC,以及为什么它会影响网站的位置(公共或

我问了这个问题:

有几个答案是,如果网站是公共/互联网,使用MVC,但是如果它是内部的,使用WebForms。我看到了其中的一些原因,但其中一些并没有真正帮助我理解为什么这种理性会如此

我希望得到评论。除了一个小型的一次性网站之外,我为什么不想在所有方面都使用ASP.NETMVC呢?为什么因特网或内部网很重要

而且,我知道一个工具并不是万能的。我不想使用webforms,不是因为我认为我不能使用,也不是因为它有点“不好”。在这个问题中,我特别想问的是MVC,以及为什么它会影响网站的位置(公共或私人)


谢谢。

对我来说,ASP.NET Webforms的优势在于,您可以比ASP.NET MVC更快地开发它们。成本:要使它们成为现代CSS兼容应用程序、Viewstate的权重和页面生命周期都比较困难

如果ASP.NET MVC已关闭,则没有理由不将其用于intranet应用程序


如果您花了几年时间精简ASP.NET Webforms,您可能可以将其用于Internet应用程序。

位置不是很重要,原因是典型的intranet网站具有以下属性:

  • 非常低的用户负载,通常在 内部局域网
  • 非常短的开发 时间表
  • 甚频特性 由CRUD附加组件组成的“附加组件”

因此,用MVC开发它可能有些过分,而不是用WebForms来拼凑一些东西。

我想我知道为什么在你之前的问题中会出现内部和外部的区别

将MVC用于外部网站为您提供了支持更多浏览器所需的灵活性,并使开发符合web标准的网站变得更加容易。MVC需要更多的工作来完成一些与Web表单相同的事情,但是您可以更好地控制输出到客户端的内容

建议对内部应用使用WebForms,因为您可以完全控制网络上使用的浏览器。此外,内部应用程序通常不会获得与外部站点相同的预算。通过将代码拖放到ASPX页面,Web表单允许您在几分钟内快速组合数据库网格、分页、排序等。我认为动机纯粹是基于金钱和时间


然而,我不认为这条沙子上的线是一条好的线。我知道有一些网站是我用WebForms开发的,需要做很多工作,如果我用MVC的话,这根本不会发生。但我也有一些不需要灵活性的网站,所以我使用WebForms


我在ASP.NET MVC中看到的最大优势是AJAX。在使用MVC而不是WebForms时,我更容易处理jQueryAjax请求。我也是一个控制狂,所以使用MVC也满足了这一方面的要求…

MVC提供了比webforms更好的关注点分离,但是,它确实带来了一些开销,这在较小的项目中很难证明。使用一种模型而不是另一种模型的决定不应基于它是内部网还是internet解决方案,而应基于寿命、可维护性和可扩展性等因素。根据我的经验,如果项目规模较大,拥有一支庞大而多样化的开发团队,并且可能需要持续维护,那么MVC是一个更好的选择。Webforms更适合于小型短期项目的快速开发


Neeless说,WebForms可以并且已经在大型项目上使用,正如MVC可以在小型项目上使用一样。您需要根据您的项目需要逐步提高每种方法的好处。

作为其他答案的旁注,在intranet环境中,URL命名约定(即/controller/method…等)因为不需要SEO,所以它们就不那么重要了。

我认为内部/外部网站的区别最好归类为数据驱动网站和内容驱动网站

例如,与使用WebForms相比,使用当前版本的MVC构建包含大量表格数据、内联编辑、排序、分页、过滤等的数据输入系统需要做大量的工作


然而,如果网站更关注向最终用户展示内容(典型的网站:博客、电子商务应用程序、门户),MVC比WebForms提供了许多优势。通常,此类网站更关注呈现问题(如果过度依赖WebForms服务器控件进行呈现,这可能会成为一个问题)。

在公共/内部网应用程序的上下文中,我看不到这两者的区别,我只看到应用程序编写方法和风格的差异,因此,选择你喜欢的:)


干杯

但是如果我很了解MVC,我也可以告诉我们它吗?还是MVC总是需要更长的时间?我不认为在内联网上开发MVC应用程序总是需要更长的时间。但是,在页面上删除GridView控件、连接一些数据绑定和格式化事件并将其推出的功能在他们希望“昨天”完成该功能时非常方便。第2段+1-一旦您看到它在运行,您就不想再回去了(我希望!)