delphi WebBroker IIS CGI 的配置


本文整理自网络,侵删。

 
用 WebBroker 写的程序,可以编译为 IIS 底下工作的 ISAPI 或者 CGI。
这里讨论 CGI 模式:

在 IIS 底下,如果访问一个 CGI,假设我们的 CGI 程序是:MyWebBrokerCGI.exe,则 URL 是:http://myserver.com/MyWebBroker.exe
1. 在 StandAlone 模式下,不同页面的链接,直接就是 WebBroker 的 Action 的 PathInfo 属性。
1.1. StandAlone 模式下,URL 可能是:http://localhost:8080/About
1.2. 假设本程序的 CGI 模式的文件名为:MyWebBrokerCGI.exe,则 CGI 模式下,可能是:http://localhost/MyWebBrokerCGI.exe/about
1.3. Action 的 PathInfo 的例子:/About,则访问链接 MyWebBroker.exe/About 就会被 WebBroker 调用 PathInfo 为 About 的 Action 去执行。
1.4. 在 IIS CGI 模式下,为了让访问的链接不要让 MyWebBrokerCGI.exe 这样的内容在 URL 里面给用户看到,设置 IIS 【处理程序映射】-- 【添加脚本映射】,增加一个名为 Dhtml 的映射,映射到 MyWebBrokerCGI.exe,这样,当用户访问 xxx.dhtml 的时候,IIS 就会去调用 MyWebBrokerCGI.exe
1.5. 经过上述对 IIS 的设置,URL 变成:http://localhost/About.dhtml,IIS 就会去调用我们的 MyWebBrokerCGI.exe
1.6. 因为 PathInfo 是 /About,为了让用户访问的 About.dhtml 能够调用到正确的 Action,本程序在 Default Action 里面增加了一段代码,当用户访问的文件名包含 .dhtml 的时候,从 VirtualPages.txt 这个外部文件里面找到对应的数字,根据数字 case 到正确的 Action。
1.7. 现在将 PathInfo 的 /About 改为 /About.dhtml 以后,在 IIS CGI 模式下,用户直接访问 about.dhtml,IIS 将直接调用 MyWebBrokerCGI.exe,然后 MyWebBrokerCGI.exe 的 WebBroker 框架将直接会调用到 PathInfo 为 About.dhtml 的 Action 而不会因为找不到对应的 Action 而去执行 Default 的 Action 然后再通过 VirtualPages.txt 的查表去调用对应的 Action。因此上述 1.6 描述的代码就没有用了。但是代码还是留在程序里面不删除。

-----------------
上面提到的 VirtualPages.txt 的内容大概是这样的:
about.dhtml=2
xxx.dhtml=3

这样,Delphi 的代码里面,用 TStringList 加载这个文本文件,然后使用 TStringList 的 Name=Value 的方式,就能将 about.dhtml 的 value 读到,这是个字符串 2,将它转换为数字,然后 case 数字,去调用对应的方法,就达到根据用户访问的文件名 about.dhtml 来调用对应的 Action 方法的目的。

不过,把 Action 的 PathInfo 直接修改为 about.dhtml 后,WebBroker 直接调用这个 Action 了。这段代码就没有必要了。

http://blog.csdn.net/pcplayer/article/details/78018614

相关阅读 >>

Delphi7判断字符是否是数字

Delphi 递归遍历treeview树节点

Delphi 62 进制的简单实现

Delphi json字符串转义

Delphi 获取自身软件的版本号

Delphi中webbrowser(或者embeddedwebbrowser)控件打开部分网站报“invalid floating point operation”异常的解决方法

Delphi 10.4.1 edgebrowser 模拟操作网页方法

Delphi checkbox 透明

Delphi 代替pos的函数

Delphi 如何从html格式的字符串中提取纯文本?

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...