2012-05-13 22 views
1

我的意思是例如AsyncGetter方法。如何调试asynccallback方法

req = (HttpWebRequest) WebRequest.Create("http://www.google.com/ig/api?weather=" + city + "&hl=" + lang); 
req.Method = "GET"; 
req.BeginGetResponse(AsyncGetter, req); 

当我使用F11时,它不会输入此方法。

+0

后会发生什么事* *这个代码?如果退出Main()方法,那么程序将在收到响应之前终止。 –

+0

之后?我退出这个方法。 –

回答

1

在异步回调方法中放置另一个断点,不需要在那个时刻按下F11(您可以在那时按F5)并让该方法执行,一旦您得到响应,它将落入您在里面设置的断点你的回调方法。

编辑:

req.BeginGetResponse(new AsyncCallback(AsyncGetter), req); 

AsyncGetter():

private void AsyncGetter(IAsyncResult result){ 
    HttpWebRequest req = (HttpWebRequest)result.AsyncState; 
    ... 
} 
+0

我尝试过这样,但它没有工作,所以问这个问题 –

+0

然后,最有可能的问题不是断点,但与服务器响应,尝试指定完整的头详细信息,如'req.UserAgent','req.Accept'等。 – Coder

+0

'req.Accept = null''req.UserAgent抛出未实现的异常' –