客官请看图

 
图中的Httphandler就是处理程序。
 
两者的共同点
如果把aspx处理程序和ashx处理程序放到上图中,他们是处在相同的位置的,
他们都实现了IHttphandler接口。实现了IHttphandler才具备处理请求的能力
 
两者的不同点
微软对aspx下足了功夫,做了相当大的包装,里面含有控件,viewstate,还有自己的生命周期。
为了让开发人员更好的处理请求,微软采用了事件机制,让程序员可以在aspx的生命周期类 注入代码。
aspx是比ashx复杂的多的处理程序版本。
 
实现自己的处理程序
让用户访问127.0.0.1/hello.zz的时候,输出一些信息,把他当处理程序使用。
在一个a目录下建立app_code文件夹
新建hanler.cs文件,代码如下:
 using System;
using System.Web; public class helloZZ : IHttpHandler { public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
context.Response.Write("你请求的是hello.zz文件");
} public bool IsReusable {
get {
return false;
}
} }

再在a目录下建立handler.ashx,代码如下:

<%@ WebHandler  Language="C#"  Class="MyHandler" %>
using System;
using System.Web; public class MyHandler : IHttpHandler { public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
} public bool IsReusable {
get {
return false;
}
} }

再建立如下的web.config

<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="false" targetFramework="4.0" />
<httpHandlers>
<add path="hello.zz" verb="*" type="helloZZ"/>
</httpHandlers>
</system.web>
</configuration>

特殊说明:

请直接用vs2012打开handler.ashx,右键用浏览器打开,这样做的只是为了构建一个web环境。
再请求hello.zz就可以了

一般处理程序(ashx)和页面处理程序(aspx)的区别的更多相关文章

  1. ASP.NET -- 一般处理程序ashx

    ASP.NET  --   一般处理程序ashx 如果在一个html页面向服务器端请求数据,可用ashx作为后台页面处理数据.ashx适合用作数据后台处理,相当于WebForm中的aspx.cs文件或 ...

  2. .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转

    .net mvc 站点自带简易SSL加密传输   因项目需要,传输数据需要加密,因此有了一些经验,现简易抽出来分享! 请求:前端cryptojs用rsa/aes 或 rsa/des加密,后端.net ...

  3. jQuery获取一般处理程序(ashx)的JSON数据

    昨天有在开发的软件生产线生产流程,RFID扫描IC卡的数据,当中有用到jQuery获取一般处理程序(ashx)的JSON数据.今有把它写成一个小例子,望需要的网友能参考. 在网站中,创建一个一般应用程 ...

  4. Web-----》》》 一般处理程序 ashx

    一般处理程序 后缀: 前台页面:.ashx 后台页面:.ashx.cs 打开方式:右键程序集--在浏览器中查看--输入url(如http://localhost:6560/firstAshx.ashx ...

  5. asp.net的验证码插件及方法、ashx验证码一般处理程序

    需要引入一个ashx的一般处理程序! 把这个程序在前台当作一个图片使用就可以! 前台代码: <td> <img title="看不清?" style=" ...

  6. ashx和aspx的区别

    1. ashx是一般处理程序,一般返回的数据有两种,一种是html页面,一种是只返回一个字符串. 2. aspx是web窗体程序,每次新建都回自带一个界面和一个后台处理程序. 3. 根据以上两点,可以 ...

  7. 一般处理程序、ASP.NET和MVC的区别

    这个问题说起来,我有点惭愧 想当初在大学里学的就是ASP.NET WebForms 在实习期间也是用的WebForms来开发网站,然后就觉得.NET开发网站就是用这个开发模式 现在想想都想笑...实在 ...

  8. 对ASP.NET运行机制之 一般处理程序ashx的学习

    一般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展名.其中一个httpHandler接受并处理一个http请求,类比于Java中的servlet.类比于在Java中 ...

  9. 学习笔记05一般处理程序ashx

    1.获取由表单传过来的参数var value1 = HttpContext.Request["健"]; 2.使得网站目录下的相对路径转化为绝对路径:(用于文件操作)var file ...

随机推荐

  1. WebService地址变成计算机名的解决办法

    WCF 4.0 has solved this issue in some instances with a new config option that use Request Headers: & ...

  2. mapping 详解4(mapping setting)

    mapping type 映射设置一般发生在: 1. 增加新的 index 的时候,添加 mapping type,对 fields 的映射进行设置 PUT twitter { "mappi ...

  3. SQL语句打印四个方向的9 9 乘法表

    declare @i int ,@j int ,@s nvarchar(max) set @i = 1 while @i <=9 begin set @s = ' ' set @j = 1 wh ...

  4. 配置WindowsLiveWriter,写cnblogs博客

    转载:http://www.haogongju.net/art/2307587 引言 以前写博客一般都是联网在cnblogs上面写,不好的地方就是不联网就写不了,当然我们也可以先记录在word文件,等 ...

  5. 20160611-20160714springmvc入门进阶

    springmvc第二阶段 高级知识 复习: springmvc框架: DispatcherServlet前端控制器:接收request,进行response HandlerMapping处理器映射器 ...

  6. ClassLoader和Reflect

    什么情况下使用ClassLoader来加载类?其实这个问题应该问,什么时候使用import来加载类,不能使用import的,就只能使用ClassLoader了. 使用import的条件: 1.必须是存 ...

  7. 对象创建型模式------Abstract Factory(抽象工厂)

    1. 意图    提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类.2. 别名    Kit3. 动机        假设我们要开发一款游戏,当然为了吸引更多的人玩,游戏难度不能太大 ...

  8. C# 调试程序弹出 没有可用于当前位置的源代码 对话框

    解决方案: 1.右键点击解决方案->属性->通用属性->调试源文件. 2.看看你的程序有没有被增加到“不查找这些源文件”这个框里. 3.如果有删除,然后重新编译即可调试,解决问题.

  9. infopath 之绑定列表 数据源

    在psd中启动infopath更新表单模版 注:虽然可能在infopath design中预览的时候会报错说是跨域数据不能加载,别理他 继续发布上站点就不会有这个错误了. 绑定list后效果: 参考u ...

  10. js事件冒泡和事件委托

    js事件冒泡 js所谓的事件冒泡就是子级元素的某个事件被触发,它的上级元素的该事件也被递归执行 html: <ul class="clearfix" data-type=&q ...