我非常喜欢ASP.NET MVC在很多层面上所做的工作。
我即将参与重建一个非常高流量的网站,我不是哪个框架最好(如果有的话)。
该网站需要以下内容:
据我所知,没有理由不使用ASP.NET MVC。
但使用MVC是否存在我未考虑过的潜在缺点?
我不想成为那种选择技术的人,因为它很酷但后来发现它不适合这项工作。
答案 0 :(得分:11)
当你所做的一切都是建立一个需要服务器端代码的网站时,ASP.NET MVC并不好(但对于ASP.NET也是如此)。
在你的情况下,我认为MVC将是一个很好的方式。 MVC已在高流量网站(例如此网站)上证明了自己。但是你必须记住MVC是新的并且在变化。可能不存在执行特定任务的库,这意味着您必须自己编写该代码。
祝你重建好运!
答案 1 :(得分:6)
根据你对项目所说的内容,你很高兴与MVC合作。
就我而言,ASP.NET MVC实际上并不适合在WebForms中拥有大量代码库的情况(意味着你有很多ASP.NET用户控件,自定义控件等)。如果你打算让那些不知道它是什么的人工作也不好。除此之外,这是一个非常好的技术。
答案 2 :(得分:3)
我的两分钱:
ASP.NET MVC是一个很好的选择,但涉及到一些学习曲线,因此请确保您的项目计划/时间表已经处理完毕。您的团队中可能有开发人员可能不习惯使用ASP.NET MVC,这可能会导致延迟(许多开发人员仍在ASP.NET 1.1中工作!)。
@Alex:缺乏控制。一些功能(如TreeView或Menu)已经作为控件实现,使用mvc重新实现它们将浪费时间。
IMO在ASP.NET MVC中使用控件的想法没有多大意义。您可以轻松地使用jQuery创建树视图控件。经典的ASP.NET服务器控件带来了很多包袱(viewstate等),因此ASP.NET MVC没有使用任何这些控件(尽管你可以使用帮助器)。
最后,ASP.NET MVC是一种替代方案,而不是Web窗体的替代品。我不会使用ASP.NET MVC,因为它仍在不断发展,我的团队对它不太满意,但我想越来越多的程序员会转向这个(更好的)选项。
答案 3 :(得分:0)
我不喜欢ASP.NET MVC,原因如下:
1。 丑陋的路由API,有http://ayende.com/Blog/archive/2008/11/05/a-case-study-of-bad-api-design-asp.net-mvc-routing.aspx 是什么错误的描述。 顺便说一句,友好的网址可以很容易地实现,没有mvc http://demo.liveui.net/bugtracker/Tasks/7
2。 对象模型不佳。事实证明,好的软件应该包含可重用的组件。没有什么可以在基于ASP.NET MVC的网站中重用。例如,如果您实施了智能下拉列表,则很难再次使用它(即使在同一个网站上)。
3。 缺乏控制。一些功能(如TreeView或Menu)已经作为控件实现,使用mvc重新实现它们将浪费时间。
如果我是你,我会尝试找一些CMS并根据WebSite需求进行自定义。
回复: 是。我知道ASP.NET控件的缺点,但问题是关于ASP.NET MVC。人们可以写一本关于ASP.NET中的好东西和坏东西的书,但我不认为在这里讨论它是合适的。
答案 4 :(得分:0)
有更好的方法可以在不使用asp.net MVC的情况下实现MVC。我已经在过去做过,甚至在asp.net MVC上线之前。 MVC是一种模式,而不是一种技术,我不明白为什么有些人称之为技术。您可以通过从webforms中删除代码隐藏来创建自己的控制器和路由器来分离所有问题,并且您仍然可以获得大多数asp.net开发人员习惯使用的webform控件等优势。 asp.net mvc非常适合那些没有时间在webforms环境中正确创建MVC应用程序的人,也适合那些没有时间构建更好解决方案的人。尽管如此,asp.net mvc还是不错的,但有更好的方法,最后,MVC不是一种技术。