什么是ISAPI或ISAPI扩展或过滤器?我读的越多,我就越困惑

sly*_*dan 14 asp.net

什么是ISAPI或ISAPI扩展或过滤器?我读的越多,我就越困惑.

mar*_*c_s 17

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

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

一种特殊的ISAPI DLL称为ISAPI过滤器,可以指定它来接收每个HTTP请求的控制.您可以创建ISAPI筛选器以进行加密或解密,记录,请求筛选或其他目的.

或者在此处查看带有图形说明的其他定义:

来自PC Magazine的ISAPI定义


Ton*_*hih 6

ISAPI!是的,这个线程是旧的,但可能是我在这里2美分的价值.

ISAPI代表互联网服务器应用程序可编程接口.顾名思义,这是IIS为开发人员提供的界面.在哪里可以使用IIS核心功能,您可以使用ISAPI扩展(例如.net dll)或ISPI过滤器(例如自定义文件上载程序)在IIS中提供自定义功能.有一套内置的ISAPI api用于此.

此外,构建ISAPI"扩展"开发是一项艰巨的任务,您需要C++和STL提前曝光.主要为http post数据分配缓冲区,并且需要非常小心缓冲区溢出错误并解析发布的数据,因为ISAPI中的这种错误会导致整个IIS崩溃.话虽如此,一旦正确开发这些扩展工作相当不错.您还可以实现工作线程池和自定义IIS负载平衡等.

但是要准备好睡在你的工作台下我正在按照自己的经验说话.