2011-09-02 85 views
0

我在使用Windows Phone 7上的WebClient時遇到了一點問題。我當前試圖通過將文件下載到字符串中來使用它,以便我可以使用該字符串解析字符串JSON.NET。不幸的是,我甚至無法將文件轉換爲字符串。這裏是我的代碼:System.NotSupportedException與Windows Phone 7上的WebClient

private void GetFileAsString() 
{ 
    var client = new WebClient(); 
    client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(sClient_DownloadStringCompleted); 
    client.DownloadStringAsync(new Uri(searchData.searchurl, UriKind.Relative)); 
} 
private void sClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
{ 
    if (e.Error == null) 
    { 
     textBlock1.Text = e.Result; 
    } 
    else 
    { 
     textBlock1.Text = e.Error.ToString(); 
    } 
} 

這裏是我收到錯誤的截圖:http://k.min.us/jzvIAYJ18uQbV.png

我看了網上頗有幾分似乎並不能找到一個解決這個問題,包括在此網站的以前的帖子。任何幫助在這裏非常感謝!

+1

searchurl是以http://還是https://開頭? – dtb

+0

它以http://開頭 –

回答

1

您需要設置BaseAddress財產上的WebClient實例正確當您使用UriKind.Relative,或者只是使用絕對Uri - 否則它試圖使用你的XAP的起源Uri ...

0

MSDN文檔建議你可以兩種可能的問題遇到。你沒有給我們足夠的信息來肯定地說。

http://msdn.microsoft.com/en-us/library/ms144202(v=VS.95).aspx

該方法檢索使用GET方法指定的資源。 資源是異步下載的。當下載完成後, 引發DownloadStringCompleted事件。下載的字符串是 ,可在 DownloadStringCompletedEventArgs的Result屬性中找到。您不能在同一個WebClient對象上再次調用 DownloadStringAsync方法,直到 第一個字符串下載操作完成。這樣做會導致 異常。

如果BaseAddress屬性不是空字符串和 該地址不包含絕對URI,該地址必須是 相對URI是與BaseAddress組合在一起形成所請求的數據的絕對 URI。