TL; DR :需要允许IIS(7-7.5)Web服务使用当前用户打开Internet Explorer并使其可见。 (允许与桌面交互)
这是问题和我尝试过的事情:
我在整个学校的一所大学里都有监听工作。这些监视器只是在服务器模式下打开Web浏览器的Windows服务器。
与之交互的服务器将不时失败,并且Web浏览器(每2分钟刷新一次)可能会陷入不良状态。
当页面没有正确刷新时,我有办法监控(使用第二台服务器,nagios),简单的解决方案是刷新浏览器或(更简单)打开并再次关闭它。
我需要远程服务器(nagios)来触发Web浏览器通过Web Api调用进行刷新。我在服务器上设置了IIS写了一个简单的Web服务,就是这样的:
closeAllProcessesWithNameIE();
Process.Start("Iexplorer", -k");
IE的所有实例都将正常关闭,并且IE的进程将再次启动(可以在任务管理器中查看)。 HOWEVER IE的GUI不会显示。
我尝试过的事情(在所有排列中):
我正在考虑编写一个使用任务调度程序检查的信号量/锁定文件,但这似乎比最初的解决方案更糟糕。
我不担心的事情: