之前一直没做过服务器插件,前段使用用到这个技术,写出来供像我一样的新手看看。

作IIS服务器插件可以使用microsoft 提供的ISAPI FITER(过滤器) 和ISAPI EXTENSION(扩展)两种方式,

开发方式都差不多,这里只介绍ISAPI EXTENSION.

我用的是vs2005开发,很多人都问vs2005或以上版本没有像vc6那样的创建ISAPI 应用程序的向导怎么办,

MSDN介绍ISAPI的文档提到入口点函数(entry-point function),研究了下,觉得如果以dll形式提供插件,

应该就是利用vs2005创建一个动态链接库项目进行那几个入口点函数重写的过程吧。

于是新建一个dll工程,在dll.cpp定义msdn提到的那几个入口点函数:

1.BOOL WINAPI GetExtensionVersion( HSE_VERSION_INFO *pVer )

{

//这里可以把版本信息写入pVer结构体。

//最后返回TRUE,如果返回FALSE,IIS不会加载该插件。

}

2. DWORD WINAPI HttpExtensionProc( LPEXTENSION_CONTROL_BLOCK lpECB )

{

//这里写你的程序主体代码,一般会用到lpECB结构内的数据和函数,

//如lpEBC->GetServerVariable,lpEBC->WriteClient等

//如果使用同步方式读写数据,处理完成后可以返回 HSE_STATUS_SUCCESS

//如果使用异步步方式读写数据,调用WriteClient后可以返回 HSE_STATUS_PENDING,这时需要使用

ServerSupportFunction函数设置回调函数来处理异步数据。

}

3.BOOL WINAPI TerminateExtension( DWORD dwFlags )

{

//retrun TRUE;

}

完成后到处dll,放到IIS5.1的目录下(可以自己新建一个虚拟目录),在目录应用程序配置中添加dll就OK了。

最后如果有知道如何调试的朋友麻烦指点一下,谢谢,我使用vs2005“附加到进程” 功能到dllHOSt和Intonet几个进程都

无法调试。

使用ISAI EXTENSION开发IIS5.1插件相关推荐

  1. iOS小技能: 开发 uni 原生插件(支持iOS Extension)

    文章目录 引言 I 开发 uni-app 原生插件 1.1 SDK 包结构说明 1.2 目录格式配置 II iOS Extension(扩展) 2.1 插件作者配置 2.2 插件使用者配置 III 注 ...

  2. 使用IBM Blockchain Platform extension开发你的第一个fabric智能合约

    文章目录 安装IBM Blockchain Platform extension for VS Code 创建一个智能合约项目 理解智能合约 打包智能合约 Local Fabric Ops 安装智能合 ...

  3. 使用vscode开发,使用插件记录

    使用vscode开发,使用插件记录 一.vscode设置小技巧: 1.在vscode中显示空格和tab符号: 2.VSCode文本编辑设置代码自动换行: 3.vs code设置每行代码的垂直标尺: 4 ...

  4. 手把手教你开发photoshop面板插件(附demo和工具)

    手把手教你开发photoshop面板插件(附demo和工具) 一.前言 二.插件演示 三.目录文件介绍 3.1 插件安装 3.2 开启ps开发模式 3.3 插件文件介绍 3.4 manifest 文件 ...

  5. 从零开发Vscode上传图片插件

    一.内容简介 在工作中经常用有一些图片来美化我们的前端页面,这时需要我们先将图片下载到本地再通过tinypng这个网站将图片压缩后上传到七牛云,最后将图片链接放在我们的代码中,虽然工作也都在搬砖,但是 ...

  6. 实用Jquery开发自己的插件

    实用Jquery开发自己的插件 jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身 ...

  7. 分享13个帮助你简化开发的jQuery插件

    为什么80%的码农都做不了架构师?>>>    日期:2012-7-23  来源:GBin1.com jQuery的社区力量的重要体现就是jQuery插件,我们每隔一段时间就会在jQ ...

  8. 使用 WordPress 插件模板开发高质量插件

    WordPress 插件样板是标准化的,有组织的,面向对象的基础,用于构建高品质的 WordPress 插件.样板遵循编码标准和文件标准,所以你不必自己学习这些,根据注释编写代码即可. 官方网站    ...

  9. flutter 获取定位_从头开发一个Flutter插件(二)高德地图定位插件

    在上一篇文章从头开发一个Flutter插件(一)开发流程里具体介绍了flutter插件的具体开发流程,从创建项目到发布.接下来将会为Flutter天气项目开发一个基于高德定位sdk的flutter定位 ...

最新文章

  1. Kafka 顺序消费方案
  2. 人脸检测--Scale-Aware Face Detection
  3. 谷歌推出数据集搜索专用引擎Dataset Search
  4. java.util.concurrent.FutureTask 源码
  5. ThinkPHP6项目基操(20.实战部分 数据库操作返回值总结)
  6. python生成html表格
  7. 数据--第34课 - 二叉树的深层性质
  8. matlab 电感电容,Simulink中的电阻电容电感在哪里啊? , matlab2007simulink中电感电容在什么位置...
  9. 91手机助手官网iPhone版 v5.6.1 官方版
  10. 论文|完整空间多任务模型(Entire Space Multi-Task Model)
  11. Centos7安装uwsgi出现关于SSL错误的问题
  12. 清华姚班教授:​我见过太多博士生精神崩溃,身体垮掉,一事无成
  13. 程序员个人外包合同模板 私活模板
  14. Dancing Line、网易蜗牛读书——创新性分析
  15. 写一个简单的python调用接口(API)
  16. 实用最优化方法课后习题-第二章
  17. [原创]雷电小游戏app设计
  18. ios怎么引入masonry_ios masonry 怎样设置边距自适应
  19. 将Qt Designer的ui文件转换为PySide2使用的.py文件
  20. web前端面试题(面试题大全)

热门文章

  1. 将英文词典dict.txt导入到数据库中
  2. ambari 版本升级
  3. 面试整理-JVM内存模型
  4. 【雕爷学编程】Arduino动手做(88)---水流量传感器模块
  5. java 图片识别 tess4j_JAVA使用Tess4J进行ocr识别
  6. 著作权、商标权、专利权的异同
  7. Netty原理-Reactor
  8. Docker 安装 (完整详细版)
  9. 代码对比工具,我就用这7个!
  10. 【蓝桥杯05】:小明每天都要练功,练功中的重要—项是梅花桩。小明练功的梅花桩排列成n行m列,相邻两行的距离为1,相邻两列的距离也为;小明想知道,在不掉下梅花桩的情况下,自己最少要多少步可以移动到目标。