【发布时间】:2013-06-11 07:43:29
【问题描述】:
当我在调度程序线程上执行以下代码时,每次我开始使用新的模拟器进行调试时,我的 windows phone 应用程序都会引发 WebException 异常:
public MainPage()
{
InitializeComponent();
Dispatcher.BeginInvoke(Moo);
}
private async void Moo()
{
await new WebClient().DownloadStringTaskAsync("http://google.de");
}
很奇怪,它只发生在之前没有模拟器实例并且必须经过引导过程的情况下。只要我按下 VS 的“重启调试”按钮,我就反复出现同样的错误,但如果我停止调试,然后在不关闭模拟器的情况下重新启动,它就可以正常工作。
异常本身几乎没有意义:响应流是空的,它以 NotFound 终止,而状态是 UnknownError。堆栈跟踪(内部网络异常):
at System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClasse.<EndGetResponse>b__d(Object sendState)
at System.Net.Browser.AsyncHelper.<>c__DisplayClass1.<BeginOnUI>b__0(Object sendState)
来源是 System.Windows。如果您需要更多信息,请告诉我。
如何使它适用于第一次模拟器运行?我应该在哪里查找错误?我认为肯定不是在连接 windows phone。
【问题讨论】:
-
你试过真机吗?也许这个问题只能在模拟器上重现,顺便说一下,它有一些令人不安的限制。
-
我刚试了第一次,开箱即用。
-
附注:
NetworkInterface.GetIsNetworkAvailable()在所有情况下都返回true。 -
没错。文档说模拟器始终连接到 3G 网络并连接到电池充电器。
标签: c# windows-phone-7 webclient