大约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调用发送凭据。
我在互联网上发现其他人去年遇到过这样的问题,但这个问题应该通过芒果更新来解决。
有没有人知道如何解决这个问题或任何解决方法,因为我没有想法。
提前谢谢!
此致 安德烈
答案 0 :(得分: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您是否收到有关其有效性的警告/错误?如果是这样,你运气不好,因为我不认为你可以在Windows Phone上覆盖证书的验证,就像在台式机上使用fwk一样。
但首先尝试使用Fiddler调试以获取一些细节。