试图从asp.net应用程序运行一个进程

时间:2009-05-18 06:52:40

标签: asp.net iis

我需要在服务器上运行一个应用程序。我有一个可执行文件,通过终端服务可以很好地运行我自己的权限。当我用我的VS运行网站时,它也可以通过asp.net在我自己的机器上运行良好。

当我尝试在真正的IIS上运行我的网站时,它就被绞死了。我尝试将StartInfo的凭据更改为我自己的凭据,并在web.config中尝试将Impresonate = true给自己。在这两种情况下,它仍然无效。

我一直收到以下错误(在我的凭据下运行并在/ console上输入服务器时)

alt text

我还在IIS选项中选中了“允许服务与桌面交互”。

这里的任何人都知道我错过了什么?我应该检查一些选项,或者可能采取其他方式来做我需要的事情?

感谢。

2 个答案:

答案 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);
        }