使用asp.net MVC有什么缺点?

时间:2009-02-06 19:07:28

标签: .net asp.net-mvc

使用asp.net MVC时,您是否有任何不利之处?

修改
如果是,你可以列出一些缺点,

9 个答案:

答案 0 :(得分:6)

使用WebForms,您可以拥有大量预先构建的UI控件,例如网格,图形工具等...... RAD控件有整个行业。

不幸的是,在ASP.NET MVC中,很多东西还没有完全存在。

答案 1 :(得分:4)

最大的缺点是你可能会被迫使用JavaScript / AJAX来实现更复杂的表单。例如,如果你有一大堆小部件(例如,数据网格,附加的侧面形式等)不是当前视图的直接部分,那么管理状态就很麻烦。

在ASP.NET WebForms中,viewstate会自动处理这个问题,这样您就可以有多个独立的控件回发和触发事件,而不会弄乱页面上的任何其他内容。

在ASP.NET MVC中,您需要自己处理所有这些,最简单的方法是简单地将事物移到浏览器端。

从好的方面来看,在完成所有调试之后,它可以带来更好的用户体验。

答案 2 :(得分:3)

此处有更多信息:Should I migrate to ASP.NET MVC?

答案 3 :(得分:3)

这实际上取决于项目的类型。有些人喜欢MVC,因为SEO受益于干净的网址,并允许用户通过智能网址猜测智能地“破解”网址。 MVC带来的费用是你将失去Web控件,因此没有ASP.NET AJAX,也没有来自UI库的拖放网格。

只是为了概括,一个公开可用的网站可能是MVC的更好候选者,因为它具有SEO优势,而内部或商业应用可能会更好地利用开发其他领域的时间。再说一遍,如果你想要的只是干净的URL,你可以通过URL重写实现同样的事情而不用MVC,

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx http://msdn.microsoft.com/en-us/library/ms972974.aspx

至于使用MVC的“劣势”,它可能更像是个人的,

  • 您是否希望在进行MVC时接受学习曲线?
  • 你依靠控制吗?你能通过优秀的HTML,CSS编写相同的东西吗?
  • 当你的项目中有更好的部分从编码时间中受益时,你可能会'浪费时间'来做MVC吗?
  • 如果你所看到的只是搜索引擎优化,那么网址重写是一种更好的方法来满足你的需求吗?

我认为缺点实际上与开发人员和项目有关。

答案 4 :(得分:2)

学习曲线和缺乏预先构建的控件,这将削弱WebForms开发人员的工作效率。

我可以给你一个非常好的优势:如果你还没有这样做,你将最终学习HTML / CSS和HTTP的基础知识,这是进行任何严肃的Web开发所需要的,而不仅仅是拖动 - 编辑中的东西。

答案 5 :(得分:1)

控制状态(输入字段中的文本)之类的东西需要手动处理一个,与webforms进行比较...假设您“正确”使用它。

总而言之,你必须自己做一些实际的演示工作,这在我看来是件好事,但在形式密集型应用程序(例如管理员)中,它可能会让你失望。

(我的意思是你确定你可以在mvc应用程序中运行大多数普通的asp.net内容,但如果你这么做,你应该只运行webforms。)

答案 6 :(得分:1)

ASP.NET需要IIS7路由(即Windows Server 2008或Vista)。您可以在Server 2003下的IIS6上运行它,但是您将失去无扩展的路由冷却。

答案 7 :(得分:1)

  • 使用此开发应用程序的复杂性很高 图案。
  • 不适合适用于有不良影响的小型应用 应用程序的性能和设计。
  • 就servlet和JSP而言,它们通常都包含业务逻辑和 表示层。
  • UI作者,业务逻辑的孤立开发过程 作者和控制者作者可能会导致他们各自的延迟 模块开发。
  • 即使开发人员也无法完全忽略模型的视图 它们是分离的。如果模型经常发生变化,那就是观点 可能充斥着更新请求。视图如图形显示 可能需要一些时间来渲染。结果,观点可能落后 更新请求。 参考:http://www.careerride.com/MVC-disadvantages.aspx

答案 8 :(得分:0)

  1. ASP.NET MVC站点平均需要比传统ASP.NET站点多10倍的开发时间。
  2. 它没有使用强大的asp.net控件。

  3. 代码无法读取。如果你想在其他人开发的网站上添加一些增强功能,你就会疯了......