我意识到之前已经 提出 过类似的问题,但是所提供的解决方案都没有奏效。
检查从该BeginGetResponse
方法返回的令牌,我发现那里引发了以下异常:
'token.AsyncWaitHandle' threw an exception of type 'System.NotSupportedException'
这个页面告诉我这个异常意味着回调参数是空的,但是我正在传递回调 - 当我插入断点时,调试器会中断回调方法。但是request
回调中的对象始终为空。result
我可以在回调方法的对象中查看相同的异常细节。
我试过new AsyncCallback(ProcessResponse)
打电话时使用BeginGetResponse
我试过添加request.AllowReadStreamBuffering = true;
我已经在模拟器和设备上尝试过这个,但都没有运气。
public static void GetQuakes(int numDays)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://magma.geonet.org.nz/services/quake/geojson/quake?numberDays=" + numDays);
// Examining this token reveals the exception.
var token = request.BeginGetResponse(ProcessResponse, request);
}
static void ProcessResponse(IAsyncResult result)
{
HttpWebRequest request = result.AsyncState as HttpWebRequest;
if (request != null)
{
// do stuff...
}
}
所以我有点不知所措,不知道下一步该往哪里看。