从ios服务器上的web api运行exe文件不起作用

从ios服务器上的web api运行exe文件不起作用

问题描述:

我想在用户请求到来时执行一个exe文件到Web API上。它是完美的工作,但是当我将Web API托管到服务器时,当用户请求到来时,exe文件不会被执行。在IIS服务器上从Web API执行exe文件该怎么做?从ios服务器上的web api运行exe文件不起作用

这里是方法的起始代码:

public static void Start(long campaign_id, long contact_id, string startDate, string endDate, string user) 
{ 
    try 
    { 
     //WindowStyle = ProcessWindowStyle.Hidden; 
     startInfo.FileName = "cmd.exe"; 
     startInfo.WorkingDirectory = @"C:\"; 
     startInfo.Arguments = "/c sparkclr-submit --master " + ConfigurationManager.AppSettings["SparkMaster"] + " --driver-class-path " + AppDomain.CurrentDomain.BaseDirectory + "Engine\\mysql.jar " + "--exe CmAnalyticsEngine.exe " + AppDomain.CurrentDomain.BaseDirectory + "Engine " + campaign_id + " " + contact_id + " " + startDate + " " + endDate + " " + user; 
     process.StartInfo = startInfo; 
     process.Start(); 
    } 
    catch (Exception e) 
    { 
     LogWritter.WriteErrorLog(e); 
    } 
} 
+0

您必须为您的iis用户授予执行权限。 – Doruk

+0

我已经给iis用户的权限,以具有EXE文件和应用程序池,但仍然不能工作的目录 –

你是如何开始的exe?你有任何错误日志?

您可以尝试使用动词runasProcess.Start作为管理员执行该exe文件。

ProcessStartInfo proc = new ProcessStartInfo(); 
proc.WindowStyle = ProcessWindowStyle.Normal; 
proc.FileName = myExePath; 
proc.CreateNoWindow = false; 
proc.UseShellExecute = false; 
proc.Verb = "runas"; //this is how you pass this verb 
+0

@Milhail如何做,我需要传递参数与process.start()? –

+0

我试着给这个动词运行,但仍然没有输出,谢谢 –

+0

你正在试图运行x64的应用程序? –