繁体   English   中英

如何从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"错误? 我需要在项目中使用它还是关于Web托管服务器?

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

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

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

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

加:

startinfo.UserShellExecute = false;

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

  1. 链接1
  2. 链接2

您在托管环境中是否具有足够的特权来运行此类应用程序?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM