【发布时间】:2017-09-21 07:13:49
【问题描述】:
我有一个基于命令行参数转换文件的本机 EXE。如果我知道如何给出输入和输出文件的完整路径名,我可以在按下某个按钮时从我的应用服务运行这样的 EXE 并等到创建输出文件吗?不能转换为 DLL。
【问题讨论】:
标签: c# azure azure-web-app-service exe native
我有一个基于命令行参数转换文件的本机 EXE。如果我知道如何给出输入和输出文件的完整路径名,我可以在按下某个按钮时从我的应用服务运行这样的 EXE 并等到创建输出文件吗?不能转换为 DLL。
【问题讨论】:
标签: c# azure azure-web-app-service exe native
据我所知,我们可以在 azure app 服务中运行本机 exe。
但我们不能直接将参数传递给原生 exe。
您需要编写一个 Web 应用程序或其他东西让用户输入输入参数。
然后你可以使用Process.Start method 来运行exe。
具体怎么做,可以参考这个代码示例。
我使用 ASP.NET MVC 获取输入参数,然后将参数发送到 exe 并获取结果。
public ActionResult Index()
{
var proc = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = Server.MapPath("/exe/Sum.exe"),
//Arguments could be replaced
Arguments = "1 2",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
}
};
proc.Start();
while (!proc.StandardOutput.EndOfStream)
{
string line = proc.StandardOutput.ReadLine();
// do something with line
Response.Write( " The result is : " + line);
}
//await getResultAsync();
return View();
}
结果:
【讨论】: