【问题标题】:WebException on first run: NotFound首次运行时出现 WebException:未找到
【发布时间】: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


【解决方案1】:

尝试使用真实设备,因为这可能是模拟器的几个限制之一(例如,模拟器始终连接到 3G 网络并连接到充电器)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 2017-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多