WebRequest
同期的に作成しているアプリケーションをデバッグしようとしています。つまり:
HttpWebRequest req = WebRequest.Create(new Uri("http://www.stackoverflow.com/")) as HttpWebRequest;
IAsyncResult res = req.BeginGetResponse(callback => { }, req);
while (!res.IsCompleted)
{
System.Threading.Thread.Sleep(100);
}
// Doesn't matter what's here, as `res.IsCompleted` never returns true
これは、アプリケーション ロジックの一部が「正しい」ことを確認するためのものですが、IAsyncResult
それ自体が完全であるとは報告されず、行き詰っています。
確認するために、エミュレーターで Internet Explorer を使用しようとしましたが、Web ページ (組み込みのお気に入りを含む) を見つけることができないため、エミュレーターがラップトップで特定のネットワーク インターフェイスを使用しようとしていると思われます。 、しかし、それを構成する方法がないように見えますか、またはどのインターフェースを使用するのですか? VPN インターフェイス、または VirtualBox 用のような仮想アダプターを使用しようとしているのではないかと疑っています。では、どうすれば設定できますか?さらに、エミュレーターによって行われた要求が Fiddler に表示されることを期待しますか?
レコードについては、;をNetworkInterface.GetIsNetworkAvailable()
返します。true
アップデート:
グラフィックス ドライバー (および関連する再起動) を更新すると、エミュレーターが実際のネットワークにアクセスできるようになったようです (または、少なくとも正しいアダプターを推測できます)。ただし、res.IsCompleted
まだ true を報告していない (そして Fiddler は要求が完了したことを示している) ため、少し混乱しています。