【Asp.Net】一般处理程序(ashx处理程序) 和 aspx页面处理程序
在Asp.Net WebForm开发方式中,我们经常会用到一般处理程序和aspx页面。本文主要分享两者之间的异同。
首先请看一张图:
在这个图中,HttpHandler就是处理程序。
相同点:
- 如果把一般处理程序(ashx处理程序)和aspx页面处理程序放到上图中,它们应该处于相同的位置,都实现了IHttpHandler接口。实现了IHttpHandler接口才具备处理请求的能力。
上面代码就是对Http请求进行处理的,任何实现了该接口的类都可以对Http请求进行处理(调用各自的ProcessRequest()方式)。aspx页面继承自后台代码,后台代码又继承Page类,所以aspx页面具有处理Http请求的能力,同样是一般处理程序,它也实现了IHttpHandler接口,也可以对Http请求进行处理。
- 都能处理静态和动态页面。
不同点:
1 功能上
- 用户请求涉及到复杂的页面布局,使用aspx。aspx页面既可以作为页面呈现给用户,也可以对用户的请求进行处理(由此也可看出aspx的前台和后台两者之间是紧耦合的关系,而这种紧耦合是不利于项目某项内容的变更的)。
- 一般处理程序只能用来处理用户请求。
2 处理流程上
一般处理程序处理动态页面的时候需要把整个页面加载到服务器,接下来替换某些内容;处理图片等内容时会直接返回响应报文。而aspx页面大多使用了服务器控件,可以通过不加载整个页面而更新页面。
一般处理程序通过设置content-type设置返回的类型,可以返回静态页面,也可以返回图片,字符串等内容。一般处理程序处理静态数据比较合适,但是处理动态或页面的时候就会变的比较麻烦。他需要先把页面读取到服务器,然后再替换读取到的里面的某项数据,比较麻烦。
aspx是动态服务器页面的意思,aspx页面中也可以放置服务器控件,这样后台就可以通过服务器控件的Id进行控件的更新以及读取操作,当需要更改某项内容时也不需要进行整个页面的读取操作,只需要更改某个控件的属性即可。相对于一般处理程序而言,很是方便。
3 性能上
- 一般处理程序比aspx页面处理程序要高一些。因为在管道模型中,在第11和第12个事件之间,aspx页面比一般处理程序多走了一个页面生命周期。
- aspx页面中有特殊ViewState状态管理机制,而ViewSate的使用虽然方便,却会占有带宽,影响性能(虽然我们能够禁用某个页面的ViewState属性,但是在表单中还是会有简单的ViewState存在,并不能完全禁用)。
4 应用范围上:
- 在能满足开发需求的基础上,如果考虑开发效率,建议使用aspx;
- 如果考虑性能,建议使用一般处理程序。
希望本文能对您有所帮助,感谢您的阅读。如果有不当之处,还请您及时扶正。
【Asp.Net】一般处理程序(ashx处理程序) 和 aspx页面处理程序相关推荐
- ASP.NET中使用一般处理程序ashx作为后台处理实现响应get和post请求
场景 ASP.NET中新建Web网站并部署到IIS上(详细图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/107199 ...
- 一般处理程序(ashx)和页面处理程序(aspx)的区别
客官请看图 图中的Httphandler就是处理程序. 两者的共同点 如果把aspx处理程序和ashx处理程序放到上图中,他们是处在相同的位置的, 他们都实现了IHttphandler接口.实现了IH ...
- 【ASP.NET 问题】IIS发布网站后出现 “处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误“的解决办法
[ASP.NET 问题]IIS发布网站后出现 "处理程序"PageHandlerFactory-Integrated"在其模块列表中有一个错误"的解决办法 参考 ...
- php 得到ashx,C# Post 一般处理程序(ashx)并得到返回值
C# Post 一般处理程序(ashx)并得到返回值 发布日期:2018-02-09 浏览次数:1500 var postUrl = "**/LoginInfo.ashx"; ...
- ajax调用ashx的方法,jquery.ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法
1.jquery.ajax请求aspx 请求aspx的静态方法要注意一下问题: (1)aspx的后台方法必须静态,而且添加webmethod特性 (2)在ajax方法中contentType必须是&q ...
- 用aspx开发html5页面,ASP.NET使aspx页面能接受HTML,asp的页面传送的文件-.NET教程,Asp.Net开发...
aspx接受aspx页面的文件很简单,用htmlinputfile,就可以了,但是如果接受html页面post的文件 就不怎么好办了,我仿照asp的方法做法如下,自己测试通过,拿出来给大家共享,可以限 ...
- asp.net ajax1.0基础回顾(六):调用ASPX页面方法
在aspx页面中,可能通过asp.net ajax调用其页面方法,具体设置如下. 1.服务器端代码(页面对象代码): using System.Web; using System.Web.Servic ...
- ASP.NET使aspx页面能接受HTML,asp的页面传送的文件
aspx接受aspx页面的文件很简单,用HtmlInputFile,就可以了,但是如果接受Html页面post的文件 就不怎么好办了,我仿照asp的方法做法如下,自己测试通过,拿出来给大家共享,可以限 ...
- 账务处理程序、记账凭证账务处理程序、汇总记账凭证账务处理程序、科目汇总表账务处理程序、会计信息化概述、信息化环境下会计账务处理的基本要求(此章出1道小题)
一.账务处理程序 会计账务处理程序,也称会计核算组织程序或者会计核算形式,是指会计凭证.会计账簿.会计报表相结合的方式. 企业常用的账务处理程序 包括: ...
最新文章
- (44)MessageBoxA 监视器(过写拷贝,不使用 shellcode 注入)
- 04 ORA系列:ORA-00984 列在此处不允许 SQL parse error location
- leetcode 121 股票买卖问题系列
- 一篇文章带你快速入门JavaScript(实操代码)
- 字符串转换到double数组
- 数据库的相关概念 1006
- 二月十大病毒排行 加花加密最危险
- jango web开发指南_Web前端“月薪过万”必读的一些入门书籍和网站!
- 通过微信小程序看趋势
- 将2^n (n=1000000) 转化为10进制输出
- Newton形式的Hermite插值多项式
- 音乐API(仅测试使用)
- Excel如何查找重复内容
- 手机内存文件夹html,手机内存难清理?试试直接删掉这3个文件夹,网友:咋不早说?...
- 如何用十六进制换算十进制
- 详细解读给数据挖掘新手的6个案例
- 计算机 打开3389端口,3389端口修改和打开【图文教程】
- 跟涛哥一起学嵌入式 25:我接触过近50块嵌入式开发板,分享一下教训和总结...
- 计算机科学与交通方向,智能交通系统就业方向
- 当OpenCV遇上Origami
热门文章
- 用开源NAC阻止非法网络访问
- 通过base标签实现全网页新窗口链接。
- Linux--网卡聚合简单脚本(bond0)
- 与TCP/IP协议的初次见面(一)
- 好记心不如烂笔头,ssh登录 The authenticity of host 192.168.0.xxx can't be established. 的问题...
- VC 为静态控件添加事件
- mac linux netstat -n
- theano中的Rop和Lop的详细解释
- 最大池化层和平均池化层图解
- ubuntu16.04/20.04 xfce4下面使用护眼软件redshift