首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是ISAPI或ISAPI扩展或筛选器?我读得越多,我就越困惑

什么是ISAPI或ISAPI扩展或筛选器?我读得越多,我就越困惑
EN

Stack Overflow用户
提问于 2011-02-06 16:33:01
回答 5查看 21.6K关注 0票数 16

什么是ISAPI或ISAPI扩展或筛选器?我读得越多,我就越困惑。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-02-06 18:41:56

例如,请参阅此处:http://searchwindowsserver.techtarget.com/definition/ISAPI

服务器应用程序接口()是一组程序调用,允许您编写运行速度比通用网关接口()应用程序更快的服务器应用程序。CGI应用程序(有时称为“可执行文件”)的一个缺点是,每次运行时,它都是作为具有自己的地址空间的单独进程运行的,这导致必须执行额外的指令,特别是当它的许多实例代表用户运行时。使用ISAPI,您可以创建动态链接库(DLL)应用程序文件,该文件可以作为超文本传输协议(HTTP)应用程序的进程和地址空间的一部分运行。当HTTP启动时,DLL文件被加载到计算机中,并且只要需要它们就一直保留在那里;它们不必像CGI应用程序那样频繁地被定位和读取到存储器中。

一种特殊的ISAPI DLL称为ISAPI筛选器,可以将其指定为接收每个HTTP请求的控制。您可以为加密或解密、日志记录、请求筛选或其他目的创建ISAPI筛选器。

或者在这里查看另一个带有图形解释的定义:

ISAPI Definition from PC Magazine

票数 21
EN

Stack Overflow用户

发布于 2013-02-10 07:02:27

ISAPI!是的,这个帖子是旧的,但可能是我的2美分有价值的东西。

ISAPI代表因特网服务器应用程序可编程接口。顾名思义,这是IIS为开发人员提供的接口。在这里你可以利用IIS的核心功能,也可以使用ISAPI扩展(如ISPI dll)或.net过滤器(如自定义文件上传器)在IIS中提供自定义功能。有一组内置的ISAPI api可以做到这一点。

此外,构建ISAPI“扩展”开发是一项艰巨的任务,您需要C++和STL预先公开。主要是为http post数据分配缓冲区,需要特别注意缓冲区溢出错误,ISAPI中此类错误解析post数据会导致整个IIS瘫痪。话虽如此,一旦正确开发,这些扩展就能很好地工作。您还可以实现工作线程池和自定义IIS负载平衡等。

但准备好睡在你的工作台下面我是根据我自己的经验说的。

票数 6
EN

Stack Overflow用户

发布于 2011-02-06 18:15:18

如果您知道传入的HTTP消息由管道处理(IIS/ASP.NET都是管道的一部分),则可以将ISAPI/filters视为扩展此管道的组件。

由于许多ISAPI模块会过滤掉一些消息,因此它们自然也称为筛选器。

http://learn.iis.net/page.aspx/101/introduction-to-iis-7-architecture/

http://learn.iis.net/page.aspx/243/aspnet-integration-with-iis-7/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4912363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档