我正在尝试调试正在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 显示请求已完成),所以我有点困惑。