c#console应用程序与PHP页面交互

时间:2011-08-31 13:29:24

标签: c# php windows-7 apache2

我有一个c#控制台应用程序,我使用PHP调用服务器调用

chdir($filePath);
exec($filePath.$fileName);

这很好用,应用程序运行。收集它旨在收集的数据,每个人都很高兴。 目前我计划在服务器或平面文件上存储一次性使用信息,但后来我注意到,当控制台应用程序正在运行并且这样做时,页面挂起等待应用程序停止。这引起了我的兴趣,现在我想知道应用程序是否有办法直接将数据传回页面?

注意:我在Windows 7上运行Apache2


更新

结束使用

$runCommand = "D:\\ScanBoyConsole\\ScanBoy_Console.exe COM1 9600 8 1 0 1"; 
$WshShell = new COM("WScript.Shell");
$output = $WshShell->Exec($runCommand)->StdOut->ReadAll;
json_decode($output);

2 个答案:

答案 0 :(得分:1)

控制台应用程序应该能够打印(使用Console.WriteLine),PHP可以获取结果......

回到我的PHP时代,我们一直调用脚本(基本上只是控制台应用程序),并将结果吐出页面。

  

“shell_exec - 通过shell执行命令并返回完整的输出   作为字符串“

http://php.net/manual/en/function.shell-exec.php

[所以,唯一的区别是您应该使用shell_exec而不是常规exec]

答案 1 :(得分:1)

如果您“直接”表示您希望应用程序的输出在仍在运行时发送给客户端,您可能会对passthru()感兴趣。
如果您还是C#应用程序的作者,则可以跳过控制台应用程序并以可通过php COM and .Net module访问的方式公开功能。