ISAPI过滤器和ASP .NET Http模块之间的区别

时间:2016-07-04 03:10:22

标签: c# asp.net iis webserver isapi

作为ASP .NET开发人员,今天我正在探讨当ISAPI filter点击我时IIS网络服务器的内部工作。我对ASP .NET运行时内的ASP .NET Web请求有一个了解,我们有两个概念:

  1. HTTP Modules:在您的请求到达HTTP处理程序之前充当请求文件管理器。您可以在此阶段分析http标头以作出有条件的决定。
  2. HTTP Handler:执行* .aspx页面请求实际处理的任何http网络请求的终点。
  3. 所以我对HTTP Modules和IIS等Internet网络服务器公开的ISAPI modules感到困惑。有人能帮我理解两者之间的区别吗?它们是否也有来自旧时代网络服务器的CGI网络请求服务范式的任何根源?

1 个答案:

答案 0 :(得分:2)

如果您知道IIS的处理管道是什么,那么模块会在某些处理阶段(身份验证/授权等)注册,并处理所有传入请求。

但是,过滤器仅在单个阶段使用(生成响应),通常仅应用于某些类型的请求(除非使用通配符)。

通常管理HTTP模块,而ISAPI模块不受管理。