我已经创建了2 apache dll使用delphi和这个指南:
https://docwiki.embarcadero.com/RADStudio/Sydney/en/DataSnap_REST_Application_Wizard_for_Windows
然后我试着在apache上安装第一个,就像这样:
LoadModule webbroker_module modules/mod_webbroker.dll
<Location /xyz>
SetHandler mod_webbroker-handler
</Location>
而且很有效。
当我尝试添加第二个模块时,如下所示:
LoadModule reportbuilder_module modules/mod_reportbuilder.dll
<Location /rbbin>
SetHandler mod_reportbuilder-handler
</Location>
Alias /rbcache/ "C:/Apache24/htdocs/rbbin/rbcache/"
<Directory "C:/Apache24/htdocs/rbbin/rbcache">
Options All
AllowOverride None
Order allow,deny
Allow from all
</Directory>
我收到来自apache的错误消息
每个应用程序只有一个数据模块
我想要实现的是,如果我在端口85上运行,它将使用模块1,如果我在端口86上运行,它将使用模块2。
我该怎么做呢?
谢谢
2条答案
按热度按时间1mrurvl11#
似乎两个DataSnap DLL都调用了一个想要创建TDataModule的例程。第二个调用失败,并显示消息“每个应用程序只有一个数据模块”。
要验证,您可以:
但是,我不知道是否可以在同一个Apache进程中使用两个或多个DataSnap DLL。
nbnkbykc2#
一种易于测试的可能变通方案:
这将使DataSnap DLL保持分离,每个进程一个。
对于从“外部世界”(Internet)进行的访问,您可以使用反向代理,以便所有客户端都可以使用默认HTTP(S)端口进行连接。