技术开发 频道

如何扩展IIS的架构满足不同需求



【IT168 专稿】

摘要
   本文讨论了如何使用ISAPI来扩展IIS。主要从ISAPI的概念、结构、编写ISAPI的步骤来阐述实现ISAPI的过程,并给出了一个动态网络配置文件的实例来具体说明如何使用ISAPI来扩展IIS。
 
一、ISAPI简介
    ISAPI可以理解为直接和IIS交互的dll。ISAPI分为ISAPI扩展(ISAPI Extension)和ISAPI过滤器(ISAPI filter)。 ISAPI扩展在一些特定的url请求时调用,而ISAPI过滤器是在所有的url请求时调用。本文采用的是第一种ISAPI,即ISAPI扩展。
    ISAPI扩展可以通过Get或Post方法直接调用,也可以通过将特定文件映射到这个ISAPI上,进行间接调用。如在IIS下运行了php,其中一种运行方式就是以ISAPI提供的。将*.php映射到ISAPI扩展上,所以在浏览器中输入*.php才可以运行php程序。因此,ISAPI扩展是最常用的ISAPI。
 
二、动态网络配置文件概述
现在有许多应用程序都有配置文件,但如果想统一控制程序的行为,配置文件就需要从网络上获得,即所有的程序在启动时使用HTTP协议从网上下载配置文件,然后再读取它的内容。但这样有一个问题,由于同一个程序以不同的用户进入可能需要不同的配置文件。当然,实现这些功能有很多方式,可以用php或asp.net在服务端进行处理。在这里我们讨论另外一种实现方式,即ISAPI扩展。ISAPI可以使用C++实现,由于使用的是C++,可以很容易做到php或asp.net不容易做到的事,另外,在发布时,可以只带一个dll,同时也可以起到保密的作用(php、c#等程序生成的目标代码很容易被反编译)。
0
相关文章