2012-05-13 32 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拋出未實現的異常' –