技术开发 频道

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



八、ISAPI的发布和运行
将ISAPI扩展的源程序编译成dll后,就可以将其发布了。发布过程分为两步。
1 在IIS中建立一个虚拟目录(假设虚拟目录名为isapi),进入属性对话框,在“虚拟目录”标签中点击“配置”按钮,出现如图3所示的对话框。



点击“添加”按钮,将ISAPI映射到相应的文件扩展名上(假设映射的扩展名为my),保存设置。
2 在“Web服务扩展”(只针对win2003)中将相应的ISAPI扩展权限设为“允许”。有两种方法可以设置ISAPI扩展权限,第一种是将所有未知ISAPI扩展的权限设为“允许”,第二种是设置指定的ISAPI扩展的权限为“允许”。一般选用第二种,因为要是设置了所有ISAPI扩展为“允许”,将会带来一些安全性问题。点击“Web服务扩展”后出现如图4所示的界面。

 

发布完ISAPI扩展后,在IE中输入http://localhost/isapi/isapi.my?name=xyz&age=16,如果使用上述的配置文件内容,将会出现如下内容。
<?xml version="1.0" encoding="gb2312" ?>
<root>
    <table1>
    </table1>
</root>
 
九、总结
ISAPI扩展的用途非常广泛,可以将其当成服务端的程序,就像php、asp.net、asp或jsp一样使用、也可以对特定的文件进行过滤(本文所举的例子就是根据不同的查询字符串对xml文件进行过滤)、如果对编译原理等相关知识比较熟悉的话,甚至可以做成像php一样的脚本语言,或是满足某些特殊需求的脚本语言。从技术角度来说,ISAPI扩展具有以下优势。
1  比CGI、asp、jsp等脚本语言拥有更高的性能,因为ISAPI扩展在第一次运行时就加载到内存中,因此第二次运行的速度将非常快。
2  ISAPI可以使用任何能够生成API的语言编写,因此可以满足不同程序员的需要。
3  由于ISAPI可以用C++、delphi(pascal)等强大的语言编写,因此可以做到一些脚本语言很难做到的事。
4  由于ISAPI是以本地二进制形式发布的,因此很难被反编译,从而具有很好的保密性。
总之,合理利用ISAPI扩展,可以充分利用IIS的构架来满足不同的需求。
 
0
相关文章