2012-05-13 9 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は実装されていない例外をスローした' –

関連する問題