asp.net 运行cmd.exe 放服务器上就有问题
我要实现一个在asp.net程序里调用cmd命令的方法,方法代码如下///<summary>///执行cmd命令///</summary>///<paramname="c...
我要实现一个在asp.net程序里调用cmd命令的方法,方法代码如下
/// <summary>
/// 执行cmd命令
/// </summary>
/// <param name="commandText"></param>
/// <returns></returns>
public string ExeCommand(string commandText)
{
Process p=new Process();
p.StartInfo.FileName =HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath + " \\cmd.exe");
p.StartInfo.UseShellExecute=false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow=true;
string strOutput=null;
try
{
p.Start();
p.StandardInput.WriteLine(commandText);
Thread.Sleep(4000);
p.StandardInput.WriteLine("exit");
strOutput = p.StandardOutput.ReadToEnd();
p.WaitForExit();
p.Close();
}
catch(Exception e)
{
strOutput=e.Message;
}
return strOutput;
}
在本地执行的时候命令是可以执行的,可是部署到iis上后,就不能执行了 展开
/// <summary>
/// 执行cmd命令
/// </summary>
/// <param name="commandText"></param>
/// <returns></returns>
public string ExeCommand(string commandText)
{
Process p=new Process();
p.StartInfo.FileName =HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath + " \\cmd.exe");
p.StartInfo.UseShellExecute=false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow=true;
string strOutput=null;
try
{
p.Start();
p.StandardInput.WriteLine(commandText);
Thread.Sleep(4000);
p.StandardInput.WriteLine("exit");
strOutput = p.StandardOutput.ReadToEnd();
p.WaitForExit();
p.Close();
}
catch(Exception e)
{
strOutput=e.Message;
}
return strOutput;
}
在本地执行的时候命令是可以执行的,可是部署到iis上后,就不能执行了 展开
3个回答
展开全部
HttpContext.Current.Request.ApplicationPath 指向什么地方
我想这是执行不成功的,会被阻拦的!
我想这是执行不成功的,会被阻拦的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也遇到了这个问题... 楼主解决了的话,能否告诉我一下?
被难住几天了.... 悲剧啊,
被难住几天了.... 悲剧啊,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询