我需要在服务器上运行一个应用程序。我有一个可执行文件,通过终端服务可以很好地运行我自己的权限。当我用我的VS运行网站时,它也可以通过asp.net在我自己的机器上运行良好。
当我尝试在真正的IIS上运行我的网站时,它就被绞死了。我尝试将StartInfo的凭据更改为我自己的凭据,并在web.config中尝试将Impresonate = true给自己。在这两种情况下,它仍然无效。
我一直收到以下错误(在我的凭据下运行并在/ console上输入服务器时)
我还在IIS选项中选中了“允许服务与桌面交互”。
这里的任何人都知道我错过了什么?我应该检查一些选项,或者可能采取其他方式来做我需要的事情?
感谢。
答案 0 :(得分:1)
尝试使用新的管理员帐户创建新的应用池。如果可行,则从管理员组中删除用户,并创建一个具有该应用所需权限的新组。
答案 1 :(得分:0)
我尝试在我的本地IIS上运行,将测试控制台应用程序复制到网站的bin目录中并且可以正常运行:
string path = "bin/test.exe";
try
{
ProcessStartInfo pi = new ProcessStartInfo();
pi.UseShellExecute = true;
pi.FileName = Server.MapPath(path);
System.Diagnostics.Process.Start(pi);
lbl.Text = "Started Process: " + Server.MapPath(path);
}
catch (Exception ex)
{
lbl.Text = ex.Message +
"<br/><p>" + ex.StackTrace + "</p>" +
Server.MapPath(path);
}