C# 使用Process.Start()运行可执行文件时,是什么导致40秒延迟?

C# 使用Process.Start()运行可执行文件时,是什么导致40秒延迟?,c#,asp.net,C#,Asp.net,我正在使用ASP.NET web应用程序中的Process.Start()在本地文件系统上运行一个可执行文件。这运行正常,并达到了我预期的效果,问题是调用Process.Start()后,exe需要大约40秒才能启动 当我从命令行运行exe时,只需几秒钟即可完成其工作 当我使用Process.Start()时,有人知道是什么导致了这么长的延迟吗 提前谢谢 Robert问题似乎是由于试图使用web应用程序的默认工作进程帐户运行exe引起的。我已经更新了ProcessStartInfo,使其在服务器

我正在使用ASP.NET web应用程序中的Process.Start()在本地文件系统上运行一个可执行文件。这运行正常,并达到了我预期的效果,问题是调用Process.Start()后,exe需要大约40秒才能启动

当我从命令行运行exe时,只需几秒钟即可完成其工作

当我使用Process.Start()时,有人知道是什么导致了这么长的延迟吗

提前谢谢


Robert

问题似乎是由于试图使用web应用程序的默认工作进程帐户运行exe引起的。我已经更新了ProcessStartInfo,使其在服务器上使用具有受限权限的预定义用户帐户,exe几乎立即运行。

似乎有些奇怪。。。你要开始做什么?如果您查看进程列表,您是否看到进程按调用的方式运行,并且在40秒内什么都不做?我怀疑从其他帐户运行任何进程都会出现问题。从ASP.NET网页启动应用程序听起来很危险。我可以想象,40秒是为用户设置一个桌面环境,用于启动应用程序。另一方面,只有通过分析,才能确定原因。@Brad我正在一个安全的网站上运行wkhtmltopdf PDF生成器。我可以看到程序直接在任务管理器中运行,但它在大约40秒的时间内实际上没有做任何工作,然后按预期执行。@我接受你关于安全问题的观点。我的计划是使用权限尽可能少的帐户运行该进程。该功能将不会公开,只有该网站的管理员用户才能运行。该程序可能试图访问internet,并在40秒后放弃。您可以使用监控工具进行检查。也许是一个商业活动或是一个更新检查。