Asp.net中的HttpModule和HttpHandler的简单用法

在Asp.net中,HttpModule和HttpHandler均可以截取IIS消息进行处理,这使得我们制作人员能够非常方便的进行诸如图片水印添加,图片盗链检查等功能。

下面先就HttpModule的使用方法进行简单说明:

using System;
using System.Web;

namespace MyWebApp
{
public class MyHttpModule:IHttpModule
{
public void Init(HttpApplication application)
{
application.BeginRequest
+=new EventHandler(application_BeginRequest);
}

public void application_BeginRequest(object sender, EventArgs e)
{
HttpContext context
= (sender as HttpApplication).Context;
context.Response.Write(
"这一部分是由HttpModule添加!<br><script>alert('测试脚本标签')</script>");
}

#region IHttpModule 成员

void IHttpModule.Dispose()
{
throw new NotImplementedException();
}

#endregion
}
}

需要说明的是,使用HttpModule的时候需要继承自IHttpModule接口,然后需要实现Dispose成员。需要注意一点的是,这些操作还得在web.config中进行配置,才能够正常使用:

      <!--下面这里是添加的自定义的HTTPModule-->
<add name="MyHttpModule" type="MyWebApp.MyHttpModule"/>

而对于HttpHandler,则需要继承自IHttpHandler接口,并且也需要在web.config中进行注册:

using System.Web;
using System.Web.Services;

namespace MyWebApp
{
/// <summary>
/// $codebehindclassname$ 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo
= WsiProfiles.BasicProfile1_1)]
public class MyHttpHandler : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType
= "text/plain";
context.Response.Write(
"这一部分是由HttpHandler添加!");
}

public bool IsReusable
{
get
{
return false;
}
}
}
}

在web.config中的注册如下:

      <!--下面是添加的自定义HTTPHandler-->  
<add verb="*" path="*.aspx" type="MyWebApp.MyHttpHandler"/>

希望对你有用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# $的用法

今天闲来无事&#xff0c;就随便在网上乱看&#xff0c;突然想到Jquery的$符号很强大&#xff0c;那么C#有没有这个东西呢&#xff0c;一查&#xff0c;果然有。经查证发现&#xff0c;这个是在C#6.0出现的一个新特性&#xff0c;也就是一个小语法糖&#xff0c;其作用相当于对…

想转行人工智能?机会来了!!!

一个坏消息&#xff1a;2018年1月 教育部印发的《普通高中课程方案和语文等学科课程标准》新加入了数据结构、人工智能、开源硬件设计等 AI 相关的课程。这意味着职场新人和准备找工作的同学们&#xff0c;为了在今后十年内不被淘汰&#xff0c;你们要补课了&#xff0c;从初中…

tankwar java_TankWar 单机(JAVA版) 版本0.3 画出坦克

其实就是通过自定义的panel 重写里面的paint方法 使用Graphics类画一个圆然后把自定的panel添加到窗口中由于想到tank不能只画一个 所以我们封装一个tank类 里面有一个draw方法 用来画 坦克通过实例化tank 调用draw方法就能实现画tank了具体代码如下&#xff1a;Tank类pac…

轻量NuGet服务—BaGet

相信大家都受益过nuget.org&#xff0c;上面的海量的库、工具、模板为我们开发提供了极大的帮助&#xff0c;其中有很多都是非常宽松的开源协议&#xff0c;在此感谢那无私奉献的人。有的时候&#xff0c;在企业内部&#xff0c;有些库是私有的&#xff0c;专项的&#xff0c;要…

光驱读盘不正常

问&#xff1a;我的电脑安装的是Windows XP操作系统&#xff0c;安装好后出现了一个问题&#xff0c;就是不能连续读光盘&#xff0c;插入第一张光盘一切正常&#xff0c;打开光驱放入第二张光盘&#xff0c;发现里边的内容竟是第一张光盘的内容&#xff0c;重新启动机器后&…

在安卓上安装java_如何在Android上安装JavaCV并使用FrameGrabber

有人能告诉我我在哪里做错了吗&#xff1f;这些是我遵循的步骤&#xff1a;>从Android开发者网站下载了adt-bundle-windows>创建了一个新项目和一个libs / armeabi文件夹>将所有* .so文件从javacv-android-arm.jar,opencv-2.4.3-android-arm.zip和ffmpeg-1.0-android-…

使用 Github Actions artifact 在 workflow job 之间共享数据

AgileConfig 在使用 react 编写UI后&#xff0c;变成了一个彻彻底底的前后端分离的项目&#xff0c;上一次解决了把react spa 跟asp.net core 站点集成起来ASP.NET Core 集成 React SPA 应用。本来我每次提交代码的时候都需要手动运行npm run build,然后把dist的内容复制到asp…

撤回的微信消息真的看不到?78行Python代码帮你看穿一切!

导读&#xff1a;Python曾经对我说&#xff1a;"时日不多&#xff0c;赶紧用Python"。于是看到了一个基于python的微信开源库&#xff1a;itchat&#xff0c;玩了一天&#xff0c;做了一个程序&#xff0c;把私聊撤回的信息可以收集起来并发送到个人微信的文件传输助…

WCF的用户名+密码认证方式

概述 今天在做Master Data Service&#xff08;后面简称MDS&#xff09;项目时需要通过WCF来使用MDS的API&#xff0c;从而对MDS的数据进行操作。在这个过程中&#xff0c;遇到了一个棘手的问题&#xff0c;就是在客户端调用Web Service时的身份认证问题&#xff0c;于是乎对WC…

lmbs PHP,PHP 清空 MySql 指定数据表中的所有数据

PHP 清空 MySql 指定数据表中的所有数据PHP 清空 MySql 指定数据表中的所有数据&#xff0c;在烈火小编在网上闲逛时&#xff0c;这是某技术博客的一篇文章&#xff0c;说是文章&#xff0c;并没有文字&#xff0c;只有代码&#xff0c;经过测试可以使用&#xff0c;现在分享给…

全网最通透的“闭包”认知 · 跨越语言

闭包作为前端面试的必考题目&#xff0c;常让1-3年工作经验的JavaScripter感到困惑&#xff0c;其实主流语言都有闭包。今天我们深入聊一聊[闭包]&#xff0c; 查缺补漏&#xff01;1. 以面试题 投石问路 2. 以C#闭包 庖丁解牛 3. 跨越语言 追本溯源 • 头等函数 •…

北大最神博士论文:为什么学校打印店老板大多是湖南人?

导读&#xff1a;北京大学社会学系博士冯军旗的一篇论文&#xff0c;虽然是话题看起来有些奇葩&#xff0c;但仍然考据严谨&#xff0c;很有价值。01 写在前面&#xff08;非论文部分&#xff09;多媒体出版行业中&#xff0c;充满油墨芬芳的印刷总是长盛不衰。特别是在大学校园…

php 谷歌语音,php 语音参考

如果文件内容是纯 PHP 代码&#xff0c;最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符&#xff0c;会导致 PHP 开始输出这些空白&#xff0c;而脚本中此时并无输出的意图。 /* This is a multi line commentyet another line …

技术分享 | jaeger链路日志实现

源宝导读&#xff1a;随着企业应用越来越复杂&#xff0c;内部的调用链条越来越长&#xff0c;性能问题也变得越来越难以定位和排查&#xff0c;为了应对此问题&#xff0c;我们在移动平台中引入了“jaeger调用链追踪工具”&#xff0c;帮助我们高效定位云端服务的性能问题。本…

IT资料,重磅来袭!

现在IT行业越来越火爆&#xff0c;技术的更新也越来越快&#xff0c;不好好充实自己的话&#xff0c;就会被淘汰。小编这几年一直有意识地收集IT行业相关的资料&#xff0c;现在已经拥有8G左右的资料&#xff0c;如区块链、Python、大数据、人工智能深度学习等方面的资料&#…

开启php的文件上传扩展,linux中如何通过php.ini添加扩展?

在编译安装的时候&#xff0c;我只通过了以下命令来安装&#xff0c;然后我想像windows中那样修改 php.ini 就开启了扩展./configure \--enable-fpm \--with-fpm-userwww-data \--with-fpm-groupwww-data \--enable-soap \--enable-mysqlnd \--with-mysqlimysqlnd \--with-pdo-…

[C#.NET 拾遗补漏]16:几个常见的TAP异步操作

在本系列上一篇文章 [15&#xff1a;异步编程基础] 中&#xff0c;我们讲到&#xff0c;现代应用程序广泛使用的是基于任务的异步编程模式&#xff08;TAP&#xff09;&#xff0c;历史的 EAP 和 AMP 模式已经过时不推荐使用。今天继续总结一下 TAP 的异步操作&#xff0c;比如…

荐书 | 10本书给你计算机大师思维

《黑客与画家》作者&#xff1a;保罗格雷厄姆 / 译者&#xff1a;阮一峰美国互联网界如日中天的教父、哈佛大学离经叛道的博士保罗格雷厄姆著作&#xff01;一本书&#xff0c;你不曾想到的视角&#xff0c;彻底颠覆你对世界的认识&#xff01;美国亚马逊、纽约时报超级畅销书&…

如何解决U盘无法停止通用卷设备

当我们使用完U盘&#xff0c;在电脑上安全删除时&#xff0c;电脑却提示&#xff1a;无法停止‘通用卷设备。这是什么问题呢&#xff1f;这时候不要硬拔哦&#xff0c;因为硬拔可能会损坏我们U盘的资料文件或者电脑的USB接口。正确的解决方法&#xff1a; 第一种&#xff1a; 往…

php按时间分组的sql语句,(SQL语句)按指定时间段分组统计

---------------------------------------Author : liangCK 梁爱兰--Comment: 小梁 爱 兰儿--Date : 2010-01-02 16:47:10---------------------------------------> 生成测试数据: #tbCREATETABLE#tb(列名1varchar(12),时间datetime)INSERTINTO#tbSELECT03174190188,2009…