ASP.NET MVC vs.Webforms vs.HTTP处理程序(.ashx)-哪个是最轻量级的?

ASP.NET MVC vs.Webforms vs.HTTP处理程序(.ashx)-哪个是最轻量级的?,asp.net,asp.net-mvc,webforms,ashx,Asp.net,Asp.net Mvc,Webforms,Ashx,我计划构建一个简单但高使用率的webapp,需要确定一个架构 基本服务器端逻辑/动态数据库 驱动内容大约有六到六个 十几页纸上都写着 内容 不需要重新编写URL 非常简单的页面流/路由 其目标是发布此应用程序以尽可能少地使用带宽、内存和CPU。也就是说,我的选择是 内置ASP.NET MVC 带viewstate的内置webforms 残废 使用带有代码的.ashx处理程序构建 连接所有HTML输出的 成串,吐出来 哪种解决方案最轻量级? 我很感激到目前为止的回复,但我并不是在要求最好的解决

我计划构建一个简单但高使用率的webapp,需要确定一个架构

  • 基本服务器端逻辑/动态数据库 驱动内容大约有六到六个 十几页纸上都写着 内容
  • 不需要重新编写URL
  • 非常简单的页面流/路由
其目标是发布此应用程序以尽可能少地使用带宽、内存和CPU。也就是说,我的选择是

  • 内置ASP.NET MVC

  • 带viewstate的内置webforms 残废

  • 使用带有代码的.ashx处理程序构建 连接所有HTML输出的 成串,吐出来

  • 哪种解决方案最轻量级?


    我很感激到目前为止的回复,但我并不是在要求最好的解决方案。这是一个简单的应用程序,我想要使用最少机器/网络资源的解决方案。

    ASp.NET MVC尽可能接近HtTP和Html。

    您应该使用MVC,因为与WebForms相比,您对生成的客户机代码有更多的控制,并且比ashx处理程序更简单。

    省略第三个选项,因为如果应用程序都是使用HttpHandler构建的,则很难控制它

    基本服务器端逻辑/动态数据库 驱动内容大约有六到六个

    ASP.NET MVC的主要优点之一是易于分离关注点+一,

    十几页纸上都写着 内容无需URL重写, 非常简单的页面流/路由


    ASP.NET MVC将为您提供一个简单的界面来设置路由,一个轻量级、清晰和可控的视图+1

    在大多数情况下,网络表单将是最重的。与WebForms相比,ASP.NETMVC非常轻量级,速度惊人


    在提供静态内容时,使用HttpHandlers构建应用程序来提供页面可能会很快,但如果您计划使用某种模板来提供动态数据,则会导致大量不必要的工作。至于性能,很难说有了这个选项,因为你的模板可能会很糟糕,也可能不会,因为ASHX文件后面的接口是IHttpHandler,它是Web表单和MVC使用的页面对象的基础。

    MVC非常有助于您更好地控制生成的HTML。因此,从带宽的角度来看,它肯定有更好的性能。这也可能带来生成此HTML的代码的简洁性

    然而,MVC并没有改善业务/数据层或数据库性能,它只是将它们分开。如果您想进行分析,拥有多个层并不能提高性能,只能改善程序的结构,而程序的结构又可能有助于添加更多性能的方法

    MVC的缺点是学习如何思考MVC和如何使用框架。如果这不是一个问题,那么去MVC,它会教你一些好习惯,如果你还没有这些习惯的话


    最后,HTTP处理程序并非真正用于这种方式,而是用于文件代理之类的东西。

    HttpHandler是您列出的3个选项中最轻量级的

    就我个人而言,我会使用ASP.NET MVC,因为它提供了一个更丰富的开发环境,而额外的服务器开销非常小,尤其是在关闭大多数功能的情况下

    角色等


    还可以使用IIS7集成模式并尽可能多地关闭IIS7设置等。

    ASP.NET MVC、Web表单和通用处理程序(.ashx)都是实现IHttpHandler接口的HttpHandler

    在这些选项中,通用处理程序(.ashx)将是最轻量级的