开发isapi 的一系列dll后,难道让服务器不停的加载嘛?
假设有:
data_add.dll
data_list.dll
data_query.dll
等,当客户端经过运行,不断请求各种 action 就会促使 服务器不断地加载上述
dll,而每启动一次就会常驻内存,这样不久就会内存饱满吧(而且每一个dll都有一个数据库的连接,谁愿意不断地让服务器建立连接呢?)?
isapi 的dll又不会在某一个时间过后自动消灭,能否通过 程序 人为地杀死它?

解决方案 »

  1.   

    我是说不想让 三个dll 全部加载,在某一个不常用的情况下。
    并不是说cgi那样的每一个都加载!
      

  2.   

    重新启动服务,就释放进程了!或者用这个:
    IntraBob是资深程序员Dr.Bob编写的免费工具软件,用于测试Delphi编写 
    的CGI/WinCGI/ISAPI程序,它可以代替PWS/IIS等WWW服务器软件, 
    调试本地的CGI/WinCGI/ISAPI程序,其原理是模拟PWS/IIS接受WWW请求, 
      

  3.   

    书上是这样说的: DLL由web服务器装入 
    客户端的请求信息以数据结构的形式 
    传递给DLL,DLL程序的TISAPIApplication 
    对象分析这些请求信息,然后创建TISAPIResquest 
    对象和TISAPIresponse对象。每次客户端的请求都在一个 
    独立的执行线程中执行。 一个ISAPI/NSAPI服务器应用程序是运行在web服务器进程空间 
    中的一个线程级安全的DLL。当发生HTTP请求调用这个ISAPI DLL 
    时,web服务器从它的线程池中取得一个线程,并启动这个在DLL中执行的线程 
    。线程池是一个由web服务器管理的工作线程的的集合。该线程池可随服务器 
    的负载情况动态的增大或缩小。在执行结果送回到客户端后,该线程也将被送回 
    线程池。这是一个比派生新进程的方法利用系统资源更为有效的方法。使用ISAPI的 
    一个缺点是线程级的安全代码难以编写和测试。另一个缺点是,一旦DLL被服务器加载,如果想替换这个DLL就需要停止服务器。 
    说实话,我也看不太懂。记得给分呀!:)
      

  4.   

    你最好把这3个dll的功能整合一下,做成一个dll就行了,你看看老外的ISAPI,很多功能,基本上就用一个dll,实在不好整合的才分成2个。