是否有可能从Powerbuilder 11.5创建一个FastCGI exe,它可以从通过命令行调用的url获取QUERY_STRING?

时间:2014-04-22 15:46:46

标签: fastcgi powerbuilder

  1. 我正在尝试创建一个通过获取命令行参数生成pdf报告的powerbuiler EXE。
  2. 我想通过在iis 7中将其作为fastcgi模块注册后传递query_string来从浏览器调用此EXE(我知道的唯一方式)
  3. 我的问题是我可以从浏览器调用exe但无法通过url中传递的命令行获取query_string。

    非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

您可以在C / C ++中编写一个使用PB​​NI执行PowerBuilder代码的FastCGI exe。

你是如何创建FastCGI exe的?

答案 1 :(得分:0)

也许使用Visual Studio编写它(该工具有很好的模板/向导用于制作IIS模块和处理程序,这是使用CGI的替代品。然后你可以使用.NET程序集PB程序但PB 11.5是.Net版本3(我想)所以请记住这一点。

我实际上使用IIS Modules/Handlers(在Visual Studio .NET C#中)编写了一个原始数据窗口,如代码生成器,并通过IIS中的设置使程序处理文件扩展为“.pb”。该程序解析数据对象代码并使用dataobject处理一些通用数据窗口的东西。这将是一个伟大的开源项目,只要它足够独特,它没有违反任何专利。

我尝试使用 PB12.5创建模块/处理程序并且没有成功,但CGI可能有效,但我还没有尝试过。

答案 2 :(得分:-1)

你需要将争论传递给exe。无法直接调用Web服务器中的EXE文件。您可以使用PHP或ASP.NET来完成此操作。

您需要做的就是收集通过此被调用网页发送的GET参数,然后启动外部进程。

在PHP中它将是$sAnswer = shellexec('path\\to\\some\\exe.exe param1 param2 ...');而在C#中它将是Process.Start("cmd.exe", "/C path\\to\\some.exe param1 param2 ...");

您可以使用PHP在$_GET中获取所有GET参数。如果使用C#,它将类似于request(现在不确定使用ASP.NET获取请求对象的位置)。