博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
妙用Asp.Net中的HttpHandler
阅读量:7027 次
发布时间:2019-06-28

本文共 1521 字,大约阅读时间需要 5 分钟。

很多时候,我们新建一个xxx.aspx页和xxx.aspx.cs文件,不过是为了实现一个很简单的功能,如:输出xmlDom,注销并跳转,并没有什么html的输出,很是麻烦,需要新建一个页,删除多余的html,并在page_load里面写处理代码。而使用HttpHandler就不需要这么麻烦了。

可以用任何符合公共语言规范 (CLS) 的语言编写自定义 HTTP 处理程序来处理特定的、预定义类型的 HTTP 请求。响应这些特定请求的是在 HttpHandler 类中定义的可执行代码,而不是常规的 ASP 或 ASP.NET Web 页。HTTP 处理程序向您提供一种方法,使您可以与 IIS Web 服务器的低级别的请求和响应服务交互,同时提供极其类似于 ISAPI 扩展但编程模型较为简单的功能。

例如我现在需要实现一个注销并跳转的Logout.aspx页面,下面的示例主要实现了响应客户端对名为 logout.aspx 的页的请求,实现注销并跳转。对 logout.aspx 的所有请求均由包含在程序集 WebUC.dll 中的命名空间 WebUC.HttpHandler 中的 LogoutHttpHandler 提供服务。

修改web.config,在<system.web></system.web>中增加如下脚本: <httpHandlers> <add verb="GET" path="Logout.aspx" type="WebUC.HttpHandler.LogoutHttpHandler, WebUC" /> </httpHandlers> 其中WebUC.HttpHandler.LogoutHttpHandler是我要实现Logout.aspx功能的类,WebUC是我web项目的dll。(具体介绍可以参阅msdn)

下面是LogoutHttpHandler的代码,继承借口,重写方法和属性。

using System; using System.Web; using System.Web.Caching; using System.Web.Security;

namespace WebUC.HttpHandler {

public class LogoutHttpHandler : IHttpHandler
{   /// <summary>   /// 通过实现 IHttpHandler 接口的自定义 HttpHandler 启用 HTTP Web 请求的处理。   /// </summary>   /// <param name="context">HttpContext 对象,它提供对用于为 HTTP 请求提供服务的内部服务器对象(如 Request、Response、Session 和 Server)的引用。 </param>   public void ProcessRequest (HttpContext context)
  {    FormsAuthentication.SignOut();    context.Response.Redirect("Login.aspx",true);   }

  /// <summary>   /// 获取一个值,该值指示其他请求是否可以使用 IHttpHandler 实例。   /// </summary>   public bool IsReusable   {    get    {     return false;    }   } }

} }

编译后,我就可以直接使用 来实现注销了,而实际上,我的web目录下并没有logout.aspx这个文件,同样,这个技巧可以用在很多方面,例如防止盗链,下载统计等。

转载地址:http://groxl.baihongyu.com/

你可能感兴趣的文章
基于刮刮卡Vue组件发布一个NPM包
查看>>
QPM 之缘起
查看>>
实现Android监控任意控件或按键双击事件方法
查看>>
2018年终总结_四年计算机科班学习经验分享+半年工作感悟 | 掘金年度征文
查看>>
国外五个免费版权音乐网站
查看>>
python中对文件的操作
查看>>
写了一个下拉刷新插件
查看>>
数据展示方式之树形展示+H5拖动效果
查看>>
汇编语言学习与记录(3)
查看>>
设计模式: Java中的工厂设计模式
查看>>
无缝轮播的实现思路
查看>>
小程序的学习
查看>>
framework插件化技术-类加载
查看>>
WebRTC网关服务器单端口方案实现
查看>>
超详细hadoop集群服务器安装配置教程
查看>>
文本相似度计算之余弦定理
查看>>
如何造一个迷你Vue
查看>>
java的8种基础类型
查看>>
在 Android 设备上搭建 Web 服务器
查看>>
Spring工作原理及流程
查看>>