1

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 は要求が完了したことを示している) ため、少し混乱しています。

4

1 に答える 1

0

プロキシを使用していますか?Windows Phone エミュレーターは、現在アクティブなインターネット接続とプロキシ設定に関連付けられています。それらが正しく設定されていることを確認してください。また、ファイアウォールが XDE のインターネット アクセスをブロックしている可能性もあります。設定も確認してください。

Fiddlerを入手することをお勧めします。エミュレーターのトラフィックをキャプチャーするように構成して、そこから取得できる情報を確認してください。

于 2012-04-09T17:22:39.020 に答える