从wep api启动C#程序失败

时间:2018-12-13 14:00:45

标签: asp.net web-services

我正在尝试从wep api启动c#程序。 当我在Visual Studio开发下尝试此功能时,它将运行。 在IIS上发布该程序后,该程序无法启动。 我没有任何错误,它永远不会在catch块中运行。 为什么“ process.Start”不起作用?

public class ServerController : ApiController
{

    [ActionName("starthilfe")]
    public Info GetHelp()
    {
        Info inf = new Info();
        try
        {
            Process P = new Process();
            P.StartInfo.FileName = @"D:\Videos\Deutsch\WindowsFormsApp1.exe";
            P.Start();
            inf.TextFeld1 = "Hilfe erfolgreich gestartet";
            return inf;
        }
        catch (Exception ex)
        {
            inf.TextFeld1 = "EXEPTION";
            inf.TextFeld2 = ex.Message;
            return inf;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

首先,我将检查运行应用程序的服务器上遇到了哪些权限问题。 其次,我认为问题的核心在于,当您以调试模式运行Web应用程序时,您将以自己的身份运行。但是,当您发布到IIS时,您很有可能以IUser身份运行。 IIs网站的特殊用户。 This堆栈溢出文章可以帮助您确定IUser拥有哪些权利。一种解决方法是为具有比IUser更大权限的应用程序创建另一个用户。提醒您,更改用户您的Web应用程序使用可能会带来安全隐患。所以你要小心