ASP.NET MVC vs. Webforms vs. HTTP Handlers (.ashx) - which is the most lightweight?

10,771

Solution 1

HttpHandlers are the most light weight, because the interface behind the ASHX file is IHttpHandler which is the basis of the Page object that is used both for Web Forms and MVC.

Solution 2

HttpHandlers are the most lightweight from your list of 3 options.

Personally, I would use ASP.NET MVC because it gives you a richer development environment with very little extra server overhead, especially if u turn most things off ..

eg. roles, etc.

Also use IIS7 intergrated mode and turn as much IIS7 settings off etc.

Solution 3

WebForms are going to be the heaviest in most cases. ASP.Net MVC is quite lightweight and surprisingly fast compared to WebForms.

Building an application using HttpHandlers to serve pages may be fast when serving static content, but if you plan to use some sort of templating to serve dynamic data, you're going to cause yourself a lot of undue work. As for performance, it's hard to say with this option because your templating could be nasty or possibly not.

Solution 4

ASP.NET MVC, Web Forms and the Generic Handler (.ashx) are all HttpHandlers implementing the IHttpHandler interface.

Out of these options the Generic Handler (.ashx) would be the most lightweight.

Solution 5

Omit the third option because it is very hard to control the application if it is all built using HttpHandlers.

basic server side logic / dynamic db driven content about half a dozen to

One of the major benefits of ASP.NET MVC is the ease of the separation of concerns. +1

a dozen pages serving up all said content no need for URL rewriting, pretty simple page flow/routing

ASP.NET MVC will give you an easy interface to set your routes, a lightweight,clear, and controllable views. +1

Share:
10,771
NoCarrier
Author by

NoCarrier

Updated on June 04, 2022

Comments

  • NoCarrier
    NoCarrier almost 2 years

    I plan on building a simple, yet high usage webapp and need to settle on an architecture.

    • basic server side logic / dynamic db driven content about half a dozen to a dozen pages serving up all said content
    • no need for URL rewriting,
    • pretty simple page flow/routing

    The objective is to publish this app to use the least amount of bandwidth, memory, and CPU as possible. That said, my options are to

    1. build in ASP.NET MVC

    2. build in webforms with viewstate disabled

    3. build using .ashx handlers with code that concatenates all HTML output into strings that it spits out

    Which is the most lightweight solution?

    I appreciate the responses so far, but i'm not asking for the best solution. This is a simple app, and i want the solution that will use the fewest machine/network resources.