ISAPI Filter开发入门

原创 2008年01月17日 15:39:00
Filter的主要功能就是在IIS向用户发送网页的时候,利用filter种的过滤功能,对Data的内容进行一定的修改,然后将修改后的内容进行发送给用户。
例如Filter01中就是对发送的网页进行检测,如果网页的内容里面包含有Hello字段,那么就对内容进行修改,将修改后的内容发送给客户端进行显示。

每个filter都是编译成一个DLL文件,然后将该DLL文件存放到D://目录下(也可以放到任意目录下,只是在IIS站点属性的ISAPI Filter中能找到相应的位置就好)。

为了测试结果,可以在IIS中新建一个站点,指定相应的端口号(如16000),然后在站点的内容中添加我们需要过滤的内容,然后打开网页,(http://localhost:16000/)查看不过滤的时候,正常显示的内容。

要查看过滤后的内容:在IIS相应站点的属性-》ISAPI Filters中添加一个Filter,该filter就是我们前面保存在D://目录下的相应DLL文件;在Documents标签下的Add,添加default.html,添加之后点击Apply。
然后打开网页(http://localhost:16000/default.html)可以查看是否能实现过滤的功能。显示出来的就是过滤后的内容(显示出来的内容是在FilterContext中的函数里我们构造的内容)。

注:此时在ISAPI Filter中可以查看到filter的Status为一个绿色的上升箭头。


在编写自己的Filter的时候,
首先新建一个C++工程:在Net环境中选择Visual C++下面的Win32,然后在右边选择“Win32 Console Application”,建立一个Empty Application。
完成后,在右侧的Solution Explorer中的Source Files中点击右键,
选择“Add”-》“new Items”,然后选择“Visual C++-》Code-》C++ File(.cpp)”,新建一个空白的文件,把程序写到里面。
一般DLL中的函数是无法被外界使用的,除非被Export以后的函数才可以被外界使用,导出的方法:
新建一个.def文件,同样点击:
在右侧的Solution Explorer中的Source Files中点击右键,
选择“Add”-》“new Items”,然后选择“Visual C++-》Code-》Module-Definition File(.def)”, 然后在里面添加如下内容:
“EXPORTS
 GetFilterVersion(需要导出的第一个函数的名字)
 HttpFilterProc(需要导出的第二个函数的名字)
依此类推……”

最后记得点击“该工程右键,选择属性一栏,一般需要将Character Set的值修改为:Use Multi-Byte Character Set“。
之后就可以编译生成DLL文件了。
 

ISAPI入门配置和程序-手把手教你用VC写ISAPI程序

  • 2011年03月12日 20:41
  • 20KB
  • 下载

ISAPI开发介绍

引言            主要介绍ISAPI的作用、ISAPI在IIS7上的配置、开发ISAPI的基本内容及使用VS 2008配置ISAPI DLL开发项目。   一、ISAPI介绍   ...
  • mycoolx
  • mycoolx
  • 2011年10月28日 09:21
  • 9431

ISAPI Filter开发入门

Filter的主要功能就是在IIS向用户发送网页的时候,利用filter种的过滤功能,对Data的内容进行一定的修改,然后将修改后的内容进行发送给用户。例如Filter01中就是对发送的网页进行检...
  • wenddy112
  • wenddy112
  • 2008年01月17日 15:39
  • 1047

IIS入门

一,初始IIS微软Internet信息服务(Internet Information Service,IIS),是在Windows平台上提供的一款微软官方的Web容器服务。IIS在Windows上的作...
  • Chen_Victor
  • Chen_Victor
  • 2017年08月12日 16:56
  • 537

关于iis filter(筛选器)的总结

微软IIS的ISAPI筛选器权限法则 前言:微软IIS中的ISAPI其实是个对于很多人都很陌生的东西,这个东西几乎控制着IIS中一切动态内容的生命,因为只有ISAPI,才可以让你的动态内容交互式网页(...
  • hbu_dcf
  • hbu_dcf
  • 2008年12月24日 16:02
  • 7658

HttpModules实现ISAPI Filter的功能

 HttpModules实现了类似于ISAPI Filter的功能,在开发上,通常需要经过以下步骤: 1.编写一个类,实现IhttpModule接口 2.实现Init 方法,并且注册需要的方法 3.实...
  • a3676212
  • a3676212
  • 2008年11月29日 09:25
  • 462

TTS ISAPI接口使用注意:

1、微软提供的中文男声语音库(Microsoft Simplified Chinese)允许同时提交多个异步Speak(...)请求,微软的接口会自动按先后顺序朗读这些请求2、有一批VW开头的语音库(...
  • brook0344
  • brook0344
  • 2010年12月07日 13:50
  • 1999

asp.net 入门的五个步骤

作者: rob howard    步骤 1:下载和安装 .net sdk asp.net 是作...
  • 21aspnet
  • 21aspnet
  • 2004年10月29日 19:23
  • 3337

windows7以及windows2008下,iis7中isapi filter的加载简介

在微软的新一代操作系统中,iis的版本也进行了升级,由原来的iis6升级到了iis7。其中,win2008中是iis7.0,win7中是iis7.5,win2008R2版中是iis7.5。 在iis7...
  • sirdan
  • sirdan
  • 2009年12月15日 15:46
  • 3386

Calling LoadLibraryEx on ISAPI filter failed

今天在访问IIS下的站点时莫名奇妙的遇到这个问题Calling LoadLibraryEx on ISAPI filter“C://。。。”  failed,前面引号中的“C://。。。”是加载的DL...
  • woniu1104913
  • woniu1104913
  • 2015年11月04日 10:55
  • 895
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ISAPI Filter开发入门
举报原因:
原因补充:

(最多只允许输入30个字)