Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从web应用程序在服务器上启动窗口shell_C#_.net_Shell_Web - Fatal编程技术网

C# 如何从web应用程序在服务器上启动窗口shell

C# 如何从web应用程序在服务器上启动窗口shell,c#,.net,shell,web,C#,.net,Shell,Web,我有一个web应用程序,它应该在某个时刻触发服务器上批处理文件的执行。批处理文件的任务之一是在服务器机器上启动浏览器并执行一些屏幕上相关的操作-这就是为什么我需要它在机器上的实际窗口中运行,而不是在无窗口隐藏模式下运行 我尝试使用Process类来实现这一点,但它只允许我在幕后运行东西。是否有方法启动命令提示符并运行批处理文件,就像我手动执行一样,但同时监视批处理文件何时完成运行?通常不可能,因为ASP.NET应用程序将在服务器端运行,并且没有窗口会话,甚至在IIS服务器上模拟特定的用户帐户,应

我有一个web应用程序,它应该在某个时刻触发服务器上批处理文件的执行。批处理文件的任务之一是在服务器机器上启动浏览器并执行一些屏幕上相关的操作-这就是为什么我需要它在机器上的实际窗口中运行,而不是在无窗口隐藏模式下运行


我尝试使用
Process
类来实现这一点,但它只允许我在幕后运行东西。是否有方法启动命令提示符并运行批处理文件,就像我手动执行一样,但同时监视批处理文件何时完成运行?

通常不可能,因为ASP.NET应用程序将在服务器端运行,并且没有窗口会话,甚至在IIS服务器上模拟特定的用户帐户,应用程序池的模拟不会创建可见/登录的用户会话。在这些CAEE中,主要是使用流程。开始执行批处理文件,您将有大量日志记录到日志文件、数据库或windows事件日志中,以便您可以从另一个用户会话监视批处理的执行。如果是控制台应用程序,则不会有问题;但事实并非如此。这是一批过程,在某一点上,它必须记录屏幕上发生的一些事情,而使用
过程
技巧是不可能的。