1

大约 3 个月以来,我有一个公共应用程序使用 WebClient 调用一些 HTTPS API。直到大约 3 周前一切正常,但突然应用程序停止工作,所有 WebClient 调用都抛出“远程服务器返回错误:NotFound”。例外。

我没有以任何方式更新我的应用程序,API 没有改变,我没有注意到 Windows Phone 的任何更新。我提到我的应用程序针对的是 Windows Phone OS 7.1,并且我还尝试使用 HttpWebRequest 类 - 结果是一样的。我的代码看起来像这样:

private void tile_Tap(object sender, System.Windows.Input.GestureEventArgs e) 
    { 
        WebClient wc = new WebClient(); 
        wc.OpenReadCompleted += new OpenReadCompletedEventHandler(wc_OpenReadCompleted);             

        wc.OpenReadAsync(new Uri("https://www.google.com"));  
    } 

    void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e) 
    { 
        try { 
            StreamReader s = new StreamReader(e.Result); 
            string r = s.ReadToEnd(); 
            MessageBox.Show(r); 
        } 
        catch (Exception ex) 
        { 
            MessageBox.Show(ex.Message); 
        } 
    }

每次使用上述异常调用此代码时都会失败。如果我尝试获取“http://www.google.com”或任何其他 HTTP URL,代码将正常工作。但是,我需要使用 HTTPS,因为我还需要通过 WebClient 调用发送凭据。

我在互联网上发现其他人去年也遇到过这样的问题,但是这个问题应该是用 Mango 更新解决的。

有没有人知道我该如何解决这个问题或任何解决方法,因为我没有想法。

先感谢您!

问候, 安德烈

4

1 回答 1

0

首先 NotFound 错误是一个通用错误,要了解问题的细节,您需要使用 Fiddler 之类的工具(使用模拟器:http: //blogs.msdn.com/b/fiddler/archive/2010/10/15 /fiddler-and-the-windows-phone-emulator.aspx / 使用设备:http: //blogs.msdn.com/b/fiddler/archive/2011/01/09/debugging-windows-phone-7-device -traffic-with-fiddler.aspx )

现在可能是 SSL 证书的问题?如果您使用桌面浏览器访问相同的 URL,您是否收到有关其有效性的警告/错误?如果是这样,那么您就不走运了,因为我认为您不能像使用桌面上的 fwk 那样覆盖 Windows Phone 上的证书验证。

但首先尝试使用 Fiddler 进行调试以获取一些详细信息。

于 2012-04-28T21:31:12.480 回答