什么是ISAPI或ISAPI扩展或筛选器?我读得越多,我就越困惑。
发布于 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
发布于 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负载平衡等。
但准备好睡在你的工作台下面我是根据我自己的经验说的。
发布于 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/
https://stackoverflow.com/questions/4912363
复制相似问题