我需要从一个控制台运行ASP.NET应用程序的应用程序使用管理员帐户与桌面交互启用。我曾尝试以下代码,控制台应用程序运行时确定,而是在网络服务帐户。任何想法如何运行控制台下的管理员帐户?
string enginePath = Server.MapPath(@"~/engine/MyConsole.exe");
System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(enginePath, "");
System.Diagnostics.Process p = System.Diagnostics.Process.Start(info);
p.WaitForExit();
另一位用户已经提出模拟.如果那好,你去那里.就像他说,尽管有一些维修头痛的处理和一些安全问题.
一些我在过去使用的可能或可能不适用您的情况选择:
1.如果任务是在一个可预测的时间表,只是将其添加到Windows中的计划任务,设置相应的工作帐户(管理员,或其他),让'儿去.我相信也有以编程方式触发预定的任务,但是我从来没有这样做。阿谷歌搜索应该得到你去.
2. 落实控制台作为服务应用逻辑适当的帐户下运行.然后,该服务侦听“触发您的网页应用程序” - 一个文件下降或更简单的东西.
无论采用哪种方式的想法是为了避免存储在ASP网页中的任何credientials,并没有给予该进程的权利,它不需要.