ISAPI的进程运行机制(50分)

  • 主题发起人 主题发起人 Tianhao
  • 开始时间 开始时间
T

Tianhao

Unregistered / Unconfirmed
GUEST, unregistred user!
对于ISAPI的进程运行机制,服务器端在加载时DLL时是否只调用一次OnCreate事件,以后每次对于客户端的请求,除非WebServer重新启动,始终不会再调用Create事件了吗?

 
书上是这样说的:

DLL由web服务器装入
客户端的请求信息以数据结构的形式
传递给DLL,DLL程序的TISAPIApplication
对象分析这些请求信息,然后创建TISAPIResquest
对象和TISAPIresponse对象。每次客户端的请求都在一个
独立的执行线程中执行。

一个ISAPI/NSAPI服务器应用程序是运行在web服务器进程空间
中的一个线程级安全的DLL。当发生HTTP请求调用这个ISAPI DLL
时,web服务器从它的线程池中取得一个线程,并启动这个在DLL中执行的线程
。线程池是一个由web服务器管理的工作线程的的集合。该线程池可随服务器
的负载情况动态的增大或缩小。在执行结果送回到客户端后,该线程也将被送回
线程池。这是一个比派生新进程的方法利用系统资源更为有效的方法。使用ISAPI的
一个缺点是线程级的安全代码难以编写和测试。另一个缺点是,一旦DLL被服务器加载,如果想替换这个DLL就需要停止服务器。


说实话,我也看不太懂。
 
非常感谢小猪猪,这是ISAPI高于cgi的地方.
据调试所知,在启动DLL时,主进程只调用一次初始化代码,
以后在产生线程要公用被初始化的东西.
不知你看的什么书,能否推荐?
 
接受答案了.
 
后退
顶部