从ASP.NET启动新进程失败
问题描述:
我想从我的WCF服务启动一个新进程。为了这个目的我用从ASP.NET启动新进程失败
var process = Process.Start(
new ProcessStartInfo { WorkingDirectory = config.WorkingDirectory,
FileName = config.WorkingDirectory,
Arguments = string.Format("{0} {1}", mpcName, jobId),
CreateNoWindow = false,
WindowStyle = ProcessWindowStyle.Hidden });
的Web应用程序使用单独的AppDomain其身份被设定为具有服务器上管理员权限的用户帐户。
的Process.Start抛出一个异常,告诉
Server execution failed, at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
我还测试了的ProcessStartInfo设置用户名和密码。指定密码相当棘手(SecureString),然后我收到
The stub received bad data, at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
所以我跳过这种方式。
你知道我的问题是什么原因以及我如何修复它。
我忘了:我正在使用Windows Server 2008 R2,IIS 7
答
我懂了!
这是很奇怪的,但所需要的唯一的变化是调用
Process.Start(exeFullPath, args);
显然的ProcessStartInfo道具的组合是非常重要的。
+0
+1你是男人!感谢您计算出来:) – ashes999 2013-02-12 21:47:36
答
此Q/A帮我在我的项目之一解决这个问题,但不同的原因 -
试图从一个集成测试的域用户被nCrunch运行来启动进程。结果我的问题是一个非常长的参数字符串。
(相同的参数串没有用户/密码作品)
环境是Windows 8中,64位。
无论如何,只能以不同的方式传递参数数据。
您是否尝试将UseShellExecute = false设置为ProcessStartInfo(在这种情况下,fileName和args可能需要调整)? – 2012-08-08 14:59:35