如何从 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;
您可以在此处获取更多信息:
- Link1
- Link2
当我尝试从我的本地计算机上的 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;
您可以在此处获取更多信息:
- Link1
- Link2