我的程序是使用 Delphi 2007 构建的 Delphi ISAPI DLL。我正在迁移到 Delphi 10.2 Tokyo,并且 TWebModuleList 从 Web.WebReq 中消失了。
在 D2007 中,当应用程序启动时,会调用以下代码来预实例化 5 个 WebModule 的池。
procedure TSWebApplication.CreationWebModules;
var
i: integer;
TabDataModules : array of TWebModuleList;
begin
SetLength(TabDataModules,1);
TabDataModules[0] := ActivateWebModules;
if Assigned(TabDataModules[0]) then
TabDataModules[0].AutoCreateModules;
SetLength(TabDataModules, NbInstances);
for i := 1 to NbInstances - 1 do
begin
TabDataModules[i] := ActivateWebModules;
if Assigned(TabDataModules[i]) then
TabDataModules[i].AutoCreateModules;
end;
for i := 0 to NbInstances - 1 do
DeActivateWebModules(TabDataModules[i]);
end;
这样,不是按需创建(前 5 个)WebModule,而是在应用程序启动时创建它们,然后按需停用并自动激活。
我知道 WebModules 由 IIS 管理,我们不需要这种行为,但它就是它的工作方式(很好)。
自 Delphi XE8 以来,TWebModuleList 似乎消失了(docwiki.embarcadero.com 上没有页面,而 XE7 站点上仍然存在)。我找不到任何更改日志,或其他关于它为什么消失的信息以及我们如何建立相同的行为......
有没有人有任何信息?
谢谢