从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);
}
}
你是如何开始的exe?你有任何错误日志?
您可以尝试使用动词runas
在Process.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
@Milhail如何做,我需要传递参数与process.start()? –
我试着给这个动词运行,但仍然没有输出,谢谢 –
你正在试图运行x64的应用程序? –
您必须为您的iis用户授予执行权限。 – Doruk
我已经给iis用户的权限,以具有EXE文件和应用程序池,但仍然不能工作的目录 –