第 11 节: 11-HttpHandler简介

本文介绍如何使用ASP.NET创建Web处理程序,并详细解释了从建立项目到实现IHttpHandler接口的具体步骤。此外,还展示了如何通过context.Request和context.Response进行请求处理和响应数据发送。

1、新建--》项目--》选中Web项--》Asp.net空Web应用程序--》右键项目---》添加---》一般处理程序(这样建的网站是最好的方法,没有多余的代码生成)
2、新建--》网站--》Asp.net空网站(这是兼容ASP(VB语言 2000年的技术)开发方式)(不推荐用这种方式)
3、.ashx与ashx.cs文件
 1)双击ashx文件会直接打开进入ash.cs文件。
 2)类Test1实现了IHttpHandler 接口。IHttpHandler接口中的方法在类Test1中进行了重写(页面加载的过程应该是完成了:Shift+Alt+F10)
 3)ashx文件中起作用的就是<....Class="Web.Test1">这个。
 4)然后会调用这个Test1类中的方法ProcessRequest(HttpContext context):这个方法主要是处理页面的请求。
 5)context.Response设置“响应”“context.Request获取“请求”
 6)ashx.cs文件其实还是C#文件。网页逻辑编写。主要是这个文件

3、

新建一个【一般处理程序】Test1.ashx, ProcessRequest中写
context.Response.ContentType = "text/html";
            string username = context.Request["name"];
            context.Response.Write(name + "<font color='red'>你好</font>");


4、每当用户请求访问ashx页面的时候,ProcessRequest方法就会被调用,在这里通过访问context.Request获得访问者的请求参数等。然后在ProcessRequest中通过context.Response向浏览器发回数据给浏览器。
5、
调试形式启动项目(默认请求报错的问题),修改地址栏访问ashx。选择浏览器:选择浏览器安装目录;更方便的改代码测试:哪怕停止调试,只要web服务器还在运行,那么修改cs代码之后只要点击“生成”→“生成解决方案”,刷新页面就可以了,html代码不用生成就可以启作用。

转载于:https://www.cnblogs.com/xcl461330197/articles/4538743.html

2025-10-31 11:35:19 信息 [con.out-Thread 56] 2025-10-31 11:35:19 DEBUG [HTTPHandler-3-56] c.s.base.file.mapper.AffixMapper.getAffixInfoByMd5 ==> Parameters: 0c6b198a6c70d55d5849d107939d95d0(String), 10(String) 2025-10-31 11:35:19 信息 [con.out-Thread 56] 2025-10-31 11:35:19 DEBUG [HTTPHandler-3-56] c.s.base.file.mapper.AffixMapper.getAffixInfoByMd5 <== Total: 0 2025-10-31 11:35:24 信息 [con.out-Thread 58] 2025-10-31 11:35:24 INFO [HTTPHandler-5-58] cn.suncn.core.config.XssFilter 正在执行过滤操作 2025-10-31 11:35:24 信息 [con.out-Thread 58] 2025-10-31 11:35:24 ERROR [HTTPHandler-5-58] cn.suncn.core.exception.GlobalExceptionHandler null 2025-10-31 11:35:24 信息 [con.out-Thread 58] 2025-10-31 11:35:24 ERROR [HTTPHandler-5-58] cn.suncn.core.exception.GlobalExceptionHandler 服务器异 常java.lang.NumberFormatException: null at java.lang.Long.parseLong(Long.java:552) at java.lang.Long.valueOf(Long.java:803) at cn.suncn.base.file.service.impl.AffixServiceImpl.upload(AffixServiceImpl.java:169) at cn.suncn.base.file.service.impl.AffixServiceImpl$$FastClassBySpringCGLIB$$a28dea0b.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) at cn.suncn.base.file.service.impl.AffixServiceImpl$$EnhancerBySpringCGLIB$$76634744.upload(<generated>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) at org.springframework.cloud.context.scope.GenericScope$LockedScopedProxyFactoryBean.invoke(GenericScope.java:485) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.sp
11-01
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值