用Delphi4 Web app模板建立的ISAPI程序能否自动把多线程的问题解决?(50分)

  • 主题发起人 主题发起人 yxuehui
  • 开始时间 开始时间
Y

yxuehui

Unregistered / Unconfirmed
GUEST, unregistred user!
本人要编ISAPI程序,但是听说ISAPI要处理很多多线程的问题,请问各位大虾
用Delphi4 Web app模板建立的ISAPI程序能否自动把多线程的问题解决?
如果不能,能不能举个在ISAPI中处理多线程的例子?
 
不能,必须手工添加一条信息,用以解决这个问题!
 
创建一个线程类,多重继承于TIsapi和TThread。
是不是就可以解决这个问题?
 
创建一个线程类,多重继承于TIsapi和TThread。
是不是就可以解决这个问题?
 
用手动解决吗?我只把SESSION的AUTONAME设置为TRUE,其它好象没问题,
你发现什么问题了呢?
 
支持多个客户的连接:

用Delphi生成ISAPI DLL是支持多线程多客户连接的,但Borland忘了在Delphi 生成的Project文件中加上了多线程支持,所以需要多线程支持,必须手工在Project中加上多线程支持的语句: IsMultiThread := TRUE.加入的位置为Dpr文件Begin .. End的最前面,也即为Begin之后.
举例如下:
library TestIn;

uses
HTTPApp,
ISAPIApp,
MainF in 'MainF.pas' {WebModule1: TWebModule};

{$R *.RES}

exports
GetExtensionVersion,
HttpExtensionProc,
TerminateExtension;

begin
IsMultiThread := TRUE; // <--- 此句为手工加入,支持多客户连接
Application.Initialize;
Application.CreateForm(TWebModule1, WebModule1);
Application.Run;
end.

回去试试,开给我加分!
 
小弟编的程序在CGI方式下通过了,而且运行的很好,但是转换成ISAPI,
我已经把SESSION的AUTONAME设置为TRUE,
添加了IsMultiThread := TRUE; ,结果出现下列错误信息:

Internal Server Error 500

Exception: Exception
Message: No data modules registered
不知是否SESSION别的属性也要设置.
 
多人接受答案了。
 
后退
顶部