找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1968|回复: 12

ASP.NET ashx 基类的使用方法, ashx 如何继承, ashx 基类如何实现

 火.. [复制链接]
  • 打卡等级:即来则安
  • 打卡总天数:29
  • 打卡月天数:1
  • 打卡总奖励:7791
  • 最近打卡:2025-12-13 17:25:16

2540

主题

1355

回帖

2万

积分

管理员

积分
21304
发表于 2021-10-24 12:08:40 | 显示全部楼层 |阅读模式
ashx文件没有页面元素,这点上区别于aspx页面,所以在效率上要比aspx页面高,通常用于ajax提交处理程序,实际项目中,用户的每个请求需要判断用户是否登录,可以是Cookie, Session,每个请求页面中去写判断用户是否登录的方法过于麻烦,所以可以通过一个基类实现所有请求方法前的用户登录状态判断。应用基类的好处可以将一些基本验证,公用方法,函数统一处理。

BaseHandle.ashx
  1. /// <summary>
  2. /// 基类
  3. /// ashx中如果要使用Session需要继承 IRequiresSessionState 接口
  4. /// </summary>
  5. public class BaseHandler : IHttpHandler, IRequiresSessionState
  6. {
  7.     /// <summary>
  8.     /// 请求处理
  9.     /// </summary>
  10.     /// <param name="context"></param>
  11.     public void ProcessRequest(HttpContext context)
  12.     {
  13.         // 逻辑验证, 如: 用户登录验证
  14.         // ...
  15.         // ...
  16.         // ...
  17.         if (1 == 0)
  18.         {
  19.             context.Response.ContentType = "text/plain";
  20.             context.Response.Write("error");
  21.             return;
  22.         }

  23.         context.Response.ContentType = "text/plain";
  24.         context.Response.Write("BaseHandler");

  25.         AjaxRequest(context);
  26.     }

  27.     /// <summary>        
  28.     /// ajax请求, 继承页面进行请求调用        
  29.     /// </summary>        
  30.     /// <param name="context"></param>        
  31.     public virtual void AjaxRequest(HttpContext context) { }

  32.     public bool IsReusable
  33.     {
  34.         get
  35.         {
  36.             return false;
  37.         }
  38.     }
  39. }
复制代码
继承页面,Test.ashx
  1. public class Test : BaseHandler
  2. {
  3.     public override void AjaxRequest(HttpContext context)
  4.     {
  5.         context.Response.ContentType = "text/plain";
  6.         context.Response.Write("Test");

  7.         // 业务逻辑
  8.         // ...
  9.         // ...
  10.         // ...
  11.     }
  12. }
复制代码


工控课堂 www.gkket.com

0

主题

175

回帖

390

积分

注册会员

积分
390
发表于 2021-10-24 12:08:41 | 显示全部楼层
看到这帖子真是高兴!
工控课堂 www.gkket.com

0

主题

110

回帖

336

积分

注册会员

积分
336
发表于 2021-10-24 12:49:02 | 显示全部楼层
楼主您的技术水准,我最服你,其他都是浮云
工控课堂 www.gkket.com

0

主题

92

回帖

331

积分

注册会员

积分
331
发表于 2025-11-16 20:56:33 | 显示全部楼层
不请自来,就想夸一句:太顶了!
工控课堂 www.gkket.com

0

主题

86

回帖

252

积分

注册会员

积分
252
发表于 2025-11-16 21:31:49 | 显示全部楼层
内容太顶了!疯狂点赞,已默默收藏~
工控课堂 www.gkket.com

0

主题

98

回帖

151

积分

新手上路

积分
151
发表于 2025-11-16 21:41:23 | 显示全部楼层
楼主辛苦啦,期待下一篇分享!
工控课堂 www.gkket.com

0

主题

58

回帖

86

积分

新手上路

积分
86
发表于 2025-11-17 00:21:18 | 显示全部楼层
救命!这波发言太秀了,直接原地封神~
疯狂认同!楼主说出了我不敢说的话
工控课堂 www.gkket.com

0

主题

87

回帖

130

积分

新手上路

积分
130
发表于 2025-11-17 02:07:35 | 显示全部楼层
来凑个热闹,增加点人气~
工控课堂 www.gkket.com

0

主题

80

回帖

121

积分

新手上路

积分
121
发表于 2025-11-17 05:37:41 | 显示全部楼层
路过打卡,为优质内容疯狂打 call
工控课堂 www.gkket.com

0

主题

87

回帖

136

积分

新手上路

积分
136
发表于 2025-11-17 13:44:19 | 显示全部楼层
楼主太会说了,字字句句都在理~
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-23 05:47 , Processed in 0.126669 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表