如何从 Asp.NET Web 应用程序授予 C# 控制台应用程序权限?

How to give permission to a C# Console application from Asp.NET web application?

当我尝试从我的本地计算机上的 Web 应用程序启动我的控制台应用程序时,它工作得很好,但是当我尝试在发布后在托管服务器上执行它时,出现 "Access is denied" 错误。

这是我调用控制台应用程序的代码,以备不时之需。

      try
            {
                ProcessStartInfo startinfo = new ProcessStartInfo();
                startinfo.FileName = Server.MapPath("~/ConsoleApplications/WebConsol.exe");
                startinfo.CreateNoWindow = true;
                startinfo.UseShellExecute = true;
                Process myProcess = Process.Start(startinfo);
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
                if (ex.InnerException != null)
                {
                    Response.Write(ex.InnerException);
                }
            }

如何为控制台应用程序授予权限以避免 "Access is denied" 错误?我需要在我的项目中使用它还是关于网络托管服务器?

注意:我想启动控制台应用程序以用作 TCP 服务器来实现 tcp 侦听器。

编辑:我的托管服务提供商是 Arvixe。

您在托管环境中是否有足够的权限来 运行 这样的应用程序?

如果这样做,请尝试设置有权执行它的帐户的用户名和密码:

startinfo.UserName = username;
startinfo.Password = MakeSecureString(password);

如另一个答案中所述,您应该添加以下代码行:

startinfo.UserName = username;
startinfo.Password = MakeSecureString(password);

加上:

startinfo.UserShellExecute = false;

您可以在此处获取更多信息:

  1. Link1
  2. Link2