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,但发现无法找到任何网页(包括内置的收藏夹),这让我认为模拟器试图在我的笔记本电脑上使用特定的网络接口,但是好像没有什么办法可以配置,或者使用哪个接口?我怀疑它可能正在尝试使用 VPN 接口,或者像 VirtualBox 那样的虚拟适配器。那么,我该如何配置呢?此外,您是否希望模拟器发出的请求会出现在 Fiddler 中?

作为记录,NetworkInterface.GetIsNetworkAvailable()返回true

更新:

看来更新我的图形驱动程序(以及相关的重新启动)允许模拟器访问真实网络(或至少猜测正确的适配器);但是,res.IsCompleted仍然没有报告真实(并且 Fiddler 显示请求已完成),所以我有点困惑。

4

1 回答 1

0

您是否使用了代理?Windows Phone 模拟器与当前活动的 Internet 连接以及代理设置相关联。确保这些设置正确。此外,可能有防火墙阻止了 XDE 的 Internet 访问 - 也请检查设置。

我建议让Fiddler。尝试将其配置为捕获模拟器流量并查看您可以从那里获得哪些信息。

于 2012-04-09T17:22:39.020 回答