我是GridView,每行都有PING按钮,用于ping所选行的IP地址。 当项目从Visual Studio运行时,我可以毫无问题地ping通,但是当我像客户端(SERVER IIS)一样运行它时它不起作用( 这是我的代码:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "PingButton")
{
// Retrieve the row index stored in the
// CommandArgument property.
int index = Convert.ToInt32(e.CommandArgument);
// Retrieve the row that contains the button
// from the Rows collection.
GridViewRow row = GridView1.Rows[index];
string ip = row.Cells[4].Text;
System.Diagnostics.Process.Start("cmd.exe", "/k ping -t " + ip);
}
}
答案 0 :(得分:1)
ASP.NET Web页面和服务器控制代码在Web服务器上的ASP.NET辅助进程的上下文中执行。如果在ASP.NET网页或服务器控件中使用Start方法,则新进程将在具有受限权限的Web服务器上执行。该过程不会在与客户端浏览器相同的上下文中启动,也无法访问用户桌面。 http://msdn.microsoft.com/en-us/library/0w4h05yb.aspx