4

我计划构建一个简单但使用率很高的 web 应用程序,并且需要确定一个架构。

  • 基本的服务器端逻辑/动态数据库驱动的内容大约六到十几个页面提供所有所说的内容
  • 无需 URL 重写,
  • 非常简单的页面流/路由

目标是发布此应用程序以使用尽可能少的带宽、内存和 CPU。也就是说,我的选择是

  1. 在 ASP.NET MVC 中构建

  2. 在禁用视图状态的情况下构建 Web 表单

  3. 使用 .ashx 处理程序构建,其代码将所有 HTML 输出连接成它吐出的字符串

哪个是最轻量级的解决方案?

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

4

8 回答 8

7

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.

于 2009-05-13T04:31:07.317 回答
5

HttpHandler 是最轻量级的,因为 ASHX 文件背后的接口是 IHttpHandler,它是用于 Web 窗体和 MVC 的 Page 对象的基础。

于 2009-05-13T04:24:05.723 回答
1

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

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

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

十几个页面提供所有所说的内容,无需 URL 重写,非常简单的页面流/路由

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

于 2009-05-13T04:09:29.710 回答
1

在大多数情况下,WebForms 将是最重的。与 WebForms 相比,ASP.Net MVC 非常轻巧且速度惊人。

在提供静态内容时,使用 HttpHandlers 构建应用程序来提供页面可能会很快,但是如果您打算使用某种模板来提供动态数据,那么您将给自己带来很多不必要的工作。至于性能,这个选项很难说,因为你的模板可能很糟糕,也可能不是。

于 2009-05-13T04:22:58.003 回答
1

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.

于 2009-05-13T04:41:14.477 回答
0

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

于 2009-05-13T04:06:28.997 回答
0

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

于 2009-05-13T04:08:05.640 回答
0

MVC 让您可以更好地控制生成的 HTML。因此,从带宽的角度来看,它肯定具有更好的性能。随之而来的是生成此 HTML 的代码的简洁性。

但是,MVC 并没有提高业务/数据层或数据库性能,它只是将它们分开。如果您想分析,拥有多个层并不能提高性能,只是程序的结构,这反过来可能有助于增加性能的方法。

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

最后,HTTP 处理程序并不是真的要以这种方式使用,它们是用于文件代理之类的。

于 2009-05-13T04:30:13.873 回答