【发布时间】:2015-03-18 20:11:18
【问题描述】:
我在我的 webapp(asp.net) 中使用 ping 类和 SendAsync 方法 但我收到了这个错误:
Ping 请求期间发生异常。
内部异常是:
这里:System.InvalidOperationException:此时无法启动异步操作。异步操作只能在异步处理程序或模块内或在页面生命周期中的某些事件期间启动。如果在执行页面时发生此异常,请确保将页面标记为 。此异常还可能表示尝试调用“async void”方法,在 ASP.NET 请求处理中通常不支持该方法。相反,异步方法应该返回一个任务,调用者应该等待它。 在 System.Web.AspNetSynchronizationContext.OperationStarted() 在 System.ComponentModel.AsyncOperationManager.CreateOperation(对象用户供应状态) 在 System.Net.NetworkInformation.Ping.SendAsync(IPAddress 地址,Int32 超时,Byte[] 缓冲区,PingOptions 选项,对象 userToken)
当我在 winform 应用程序中使用完全相同的代码时,它可以正常工作。
这是我的代码:
public static Ping pi = new Ping();
public static byte[] myb = new byte[] { 0x41, 0x42, 0x43, 0x41,0x43 };
protected void Button1_Click(object sender, EventArgs e)
{
pi.PingCompleted += new PingCompletedEventHandler(pi_PingCompleted);
int i = 1;
object r = pi.SendAsync("192.168.1." + i.ToString(), 2000, myb); // here the error happining
}
public void pi_PingCompleted(object sender, PingCompletedEventArgs ev)
{
PingReply pr = ev.Reply;
Response.Write(ev.Reply.ToString());
}
我处理了所有可能发生但无济于事的异常。
谁能告诉我我做错了什么或我错过了什么? 坦克
【问题讨论】:
-
什么是 InnerException?
-
System.dll 中出现“System.Net.NetworkInformation.PingException”类型的异常,但未在用户代码中处理其他信息:Ping 请求期间出现异常。
-
什么是 InnerException?