【发布时间】:2009-05-01 10:24:19
【问题描述】:
我已经非常接近使用实体框架和标准 asp.net+ajax 的网站完成了,但现在我在想是否可以更聪明地重新开始并使用 microsoft mvc 来完成。 MVC 会成为新事物吗,我应该尝试实现它吗? MVC 在高流量网站上的表现如何?
【问题讨论】:
标签: asp.net-mvc entity-framework
我已经非常接近使用实体框架和标准 asp.net+ajax 的网站完成了,但现在我在想是否可以更聪明地重新开始并使用 microsoft mvc 来完成。 MVC 会成为新事物吗,我应该尝试实现它吗? MVC 在高流量网站上的表现如何?
【问题讨论】:
标签: asp.net-mvc entity-framework
不要重新设计您已经完成开发或准备推出新技术的东西。而是完成项目并在修订版或全新站点中使用新技术。只有在业务需求发生变化并且新需求需要新功能时才应考虑这种类型的重构。
Mvc 是一个非常强大和稳定的平台,但它是开发人员的选择。业务需求将定义要使用的解决方案的类型。这是一个适合工作的正确工具的案例。
实际示例,我最近不得不做出选择,但由于项目完成后缺乏维护支持技能,并为此创建对单个资源的依赖,业务拒绝了使用 Mvc 的选项。
【讨论】:
评估您考虑重做所有辛勤工作的原因,您会得到答案。
该站点是为您自己的学习目的而完成的项目吗?如果是这样,那么在 MVC 中重做站点是一种选择,只要您愿意放弃已经完成的大量工作。
网站建设是否需要有人付费?如果是这样,你绝对不应该在这个阶段重做 MVC 中的站点,因为你将不必要地重新设置项目。
请记住,当涉及财务时,回溯和重做已经完成的事情,只是为了让您有机会使用您更喜欢的技术,最好附上合理的商业案例。在大多数情况下,客户不会关心你使用什么技术,他们会关心做这件事需要多长时间以及他们将要花多少钱。因此,您的决定应该基于他们的需求,而不是您的需求。
【讨论】:
如果你快完成了,我看不出重新实现的意义。为什么不为您的下一个网站存储它然后尝试呢? Stack Overflow 也是使用 ASP.Net MVC 实现的 - 性能令人难以置信,而且他们获得了大量流量。
【讨论】:
我个人建议使用 MVC,因为它更直观,并且与 Web 表单相比,您可以更好地控制页面。
如果您是 MVC 新手,我不建议您重新开始使用 MVC,因为学习曲线可能有点陡峭!
【讨论】:
如果您正在谈论的网站是您打算在世界上发布的公共网站,那么我建议您完成您正在做的事情,发布它,并在您决定抛出之前在该网站上获得用户反馈它离开并重新实现它。如果这只是一个爱好网站,那么扔掉它也没关系。
但是,在我看来,ASP.NET MVC 是更好的选择,您应该将其用作所有未来开发的默认选项。
正如其他回复中提到的,SO 正在使用 ASP.NET MVC。
我认为 ASP.NET MVC 不会妨碍您满足规模要求 - 在任何商业网站中,通常是数据源(您的 SQL 数据库或您调用的网络服务)会限制您的应对高流量的能力。
我想这实际上取决于您的使用模式、您为构建页面而访问的数据量、您的内容是否可缓存、您是否有数百万用户只是在阅读页面,或者数百名用户正在更新数据和诸如此类的东西将推动您的扩展能力,其中大部分与您用于呈现页面的框架正交。
【讨论】:
嗯,StackOverflow 使用 ASP.NET MVC,它是一个流量相当高的网站。我从来没有经历过 SO 的任何减速。所以,我认为 ASP.NET MVC 没有任何主要的固有性能限制。
【讨论】:
MVC 非常好,我们从第一次 CTP 开始就一直在使用它。但是如果你只是盲目地关注 MVC 博客/教程,就会出现性能问题。
看看this
【讨论】:
如果您已经完成了很多 UI 层,那么只要您有时间学习新技术,就坚持使用 Web 表单,MVC 不会让您失望
【讨论】:
正如大多数人所说,如果您几乎完成了当前网站,请继续原样。
对于您的下一个项目,我强烈建议您坐下来学习 MVC。一旦你进行了切换,不同的层将变得非常清晰、清晰,因此更加简洁(希望如此)。
因此,如果您需要返回并在以前的站点上工作,如果不太困难,您可能会决定在 MVC 中重新实现它们。您对代码中发生的事情的完全控制非常棒。如果您不喜欢使用 VB 或 C#,您甚至可以扩展并使用 IronRuby 和 IronPython,并在此过程中学习一些新语言。更不用说 MVC 是完全可扩展的并且(现在)是开源的。如果您想了解利弊,请查看此question。
【讨论】:
另一种选择是在 WebForms 和 MVC 中创建站点的一部分。据我所知,没有什么可以阻止你这样做。
【讨论】:
我已经说过了,我会再说一遍。 :) 我最近将一个几乎完成的项目重新创建为 mvc 而不是 asp.net。我花了一周的时间才准备好,但客户对结果非常满意!
【讨论】:
(https://msdn.microsoft.com/en-us/library/dd381412(v=vs.98).aspx)
您必须仔细考虑是使用 ASP.NET MVC 框架还是使用 ASP.NET Web 窗体模型来实现 Web 应用程序。 MVC 框架不会取代 Web 窗体模型;您可以将任一框架用于 Web 应用程序。 (如果您有现有的基于 Web 窗体的应用程序,这些应用程序将继续像往常一样工作。) 在您决定为特定网站使用 MVC 框架或 Web 窗体模型之前,请权衡每种方法的优势。
基于 MVC 的 Web 应用程序的优势
ASP.NET MVC 框架具有以下优点:
基于 Web 表单的 Web 应用程序的优势
基于 Web 表单的框架具有以下优势:
【讨论】: