我正在尝试在我的MonoTouch应用程序中执行异步请求。当我执行以下代码时,它的行为就像请求已经开始了,但似乎永远不会返回。我做错了什么?
private void StartAsyncRequest()
{
try
{
// Asynchronously execute the query using HttpWebRequest
string url = GetUrl();
WebRequest request = WebRequest.Create(url);
request.BeginGetResponse(new AsyncCallback(AsyncAttempt_Completed), request);
}
catch (Exception ex)
{
// Show error message here.
}
}
private void AsyncAttempt_Completed(IAsyncResult result)
{
try
{
// 1. Get the response from the service call
WebRequest request = (WebRequest)(result.AsyncState);
using (WebResponse response = request.EndGetResponse(result))
{
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string temp = reader.ReadToEnd();
// Show temp value here.
}
}
}
catch (Exception ex)
{
// Show error message here.
}
}
谢谢!