.aspx vs .ashx MAIN difference

What are the differences between .aspx and .ashx pages? I use ashx now when I need to handle a request that was called from code and returned with a response, but I would like a more technical answer please.

117506 次浏览

. aspx 是一个呈现的页面。如果你需要一个视图,使用一个.aspx 页面。 如果您所需要的只是后端功能,但是将保持在相同的视图上,那么使用. ashx 页面。

.aspx使用一个完整的生命周期(InitLoadPreRender) ,可以响应按钮点击等。
.ashx只有一个 ProcessRequest方法。

Page is a special case handler.

Generic Web handler (*.ashx, extension based processor) is the default HTTP handler for all Web handlers that do not have a UI and that include the @WebHandler directive.

NET 页面处理程序(*.aspx)是所有 ASP.NET 页面的默认 HTTP 处理程序。

在内置的 HTTP 处理程序中,还有 Web 服务处理程序(*.asmx)和跟踪处理程序(trace.axd)

MSDN :

NET HTTP 处理程序是进程 (通常称为 "endpoint") that runs in response to a request made to an ASP.NET Web application. The most common handler 是一个 ASP.NET 页面处理程序 处理.aspx 文件。当用户 请求一个.aspx 文件,请求是 由页通过页处理 联络人。

下面的图片说明了这一点: request pipe line

至于你的第二个问题:

Ashx 处理的连接比 aspx 多吗?

不要这样想(但是可以肯定的是,至少不要低于)。

For folks that have programmed in nodeJs before, particularly using expressJS. I think of .ashx as a 中间件 that calls the next function. While .aspx will be the 控制器 that actually responds to the request either around res.redirect, res.send or whatever.