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 を取得しようとすると、コードは正常に機能します。ただし、WebClient 呼び出しで資格情報も送信する必要があるため、HTTPS を使用する必要があります。

昨年、他の人がこのような問題に遭遇したことをインターネットで見つけましたが、この問題は 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 に答える