2013-05-15 22 views
2

嘗試從使用WebClient的HTTPS服務器下載文件時,我在應用程序中收到NotFound錯誤。它只出現在某些設備上(例如諾基亞810),但相同的應用程序可以在其他設備(例如諾基亞910)上運行,也可以在WP模擬器上運行。當我將它輸入PC上的瀏覽器時,同樣的URL也可以正常工作。連接到HTTPS的WebClient在某些電話設備上給出NotFound錯誤

下面是一個基本的應用程序,演示了這個問題。

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    string URL = "https://MyDomain.com/MyFile.txt"; 
    WebClient WC = new WebClient(); 
    WC.DownloadStringCompleted += WC_DownloadStringCompleted; 
    WC.DownloadStringAsync(new Uri(URL)); 
} 

void WC_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
{ 
    if (e.Error == null) 
     txtResult.Text = e.Result; 
    else 
     txtResult.Text = "ERROR:\r\n" + e.Error.Message + "\r\n" + e.Error.StackTrace; 
} 

不幸的是,服務器是在我的掌握,但它確實有一個完整的證書(由Thawte簽署),所以它不具有自簽名證書的問題。

我已經嘗試過這個測試應用程序WP7.1和WP8,並且它在相同的設備上始終失敗。

這是一個公共消費應用程序,因此在手機或任何其他電話配置設置上安裝證書不是一種選擇。

回答

1

我已經設法解決了這個問題,但解決方案並沒有直接成爲代碼的問題。

我們的一些心愛的測試都是由每年在設備上,以測試更改應用程序帳戶狀態推進的日期,而不是重新回到正確的日期。這當然會導致設備將2014年2月到期日期的證書標記爲無效,從而導致HTTPS調用失敗。

相關問題