C# 从WCF服务调用进程以在WCF服务帐户下运行 我需要从WCF服务启动一个可执行文件,该服务应在WCF服务使用的同一服务帐户下运行。WCF服务托管在IIS中,并配置为在特定服务帐户下运行 我还需要获得该进程的句柄,并将其保存在某个地方(例如数据库中),以便在该进程意外运行很长时间后可以终止它 我应该能够用不同的参数并行启动该过程的多个实例

C# 从WCF服务调用进程以在WCF服务帐户下运行 我需要从WCF服务启动一个可执行文件,该服务应在WCF服务使用的同一服务帐户下运行。WCF服务托管在IIS中,并配置为在特定服务帐户下运行 我还需要获得该进程的句柄,并将其保存在某个地方(例如数据库中),以便在该进程意外运行很长时间后可以终止它 我应该能够用不同的参数并行启动该过程的多个实例,c#,wcf,C#,Wcf,这是可能的,还是我需要创建一个windows服务(假设它执行与可执行文件相同的操作),并使用帐户配置它,然后从WCF服务启动它?请让我知道什么是正确的解决方案。谢谢。您应该能够使用该方法启动一个新流程。它将在其启动时所处的上下文下运行。如果您想稍后获得该进程的句柄,请将其PID保存到您的数据库或文件中。然后使用Process.GetProcessById获得该句柄。我认为情况并非如此,本文说它是在受限权限下运行的。上面说“ASP.NET网页和服务器控制代码在Web服务器上ASP.NET工作进程的

这是可能的,还是我需要创建一个windows服务(假设它执行与可执行文件相同的操作),并使用帐户配置它,然后从WCF服务启动它?请让我知道什么是正确的解决方案。谢谢。

您应该能够使用该方法启动一个新流程。它将在其启动时所处的上下文下运行。

如果您想稍后获得该进程的句柄,请将其PID保存到您的数据库或文件中。然后使用
Process.GetProcessById
获得该句柄。

我认为情况并非如此,本文说它是在受限权限下运行的。上面说“ASP.NET网页和服务器控制代码在Web服务器上ASP.NET工作进程的上下文中执行。如果在ASP.NET网页或服务器控件中使用Start方法,则新进程将在具有受限权限的Web服务器上执行。该过程不是在与客户端浏览器相同的上下文中启动的,并且没有访问用户桌面的权限。“它不适用于WCF服务吗?对我的第二个问题还有任何评论吗?[被JustPixelz拒绝编辑]我没有尝试过这种方法,但假设它可以按描述的那样工作。但是,如果您使用多个IIS实例进行工作负载平衡,请记住PID或其他引用仅适用于创建进程的计算机。此外,请记住,当您返回终止进程时,进程可能不会仍在运行。或者更糟的是,PID可能已成为另一个pro塞斯!