我正在開發我的第一個Windows Phone 7應用程序,並且遇到了麻煩。基本上它只是讀取事件的JSON字符串,並綁定到一個列表(使用列表中的應用程序起點)當我嘗試反序列化JSON時,Windows Phone 7應用程序退出
public void Load()
{
// form the URI
UriBuilder uri = new UriBuilder("http://mysite.com/events.json");
WebClient proxy = new WebClient();
proxy.OpenReadCompleted += new OpenReadCompletedEventHandler(OnReadCompleted);
proxy.OpenReadAsync(uri.Uri);
}
void OnReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
if (e.Error == null)
{
var serializer = new DataContractJsonSerializer(typeof(EventList));
var events = (EventList)serializer.ReadObject(e.Result);
foreach (var ev in events)
{
Items.Add(ev);
}
}
}
public ObservableCollection<EventDetails> Items { get; private set; }
EventDetails是我的類包裝了JSON字符串。這個類必須是正確的,因爲它是從內部生成json的那個網站所使用的類的精確副本...
我從webclient調用正確得到json字符串(我讀取了memorystream和json的確在那裏),但只要我嘗試反序列化字符串,應用程序退出並且調試器停止。
我沒有得到任何錯誤信息,或者有什麼閃失任何跡象顯示,它只是停止。如果我在觀察窗口中輸入反序列化方法,也會發生這種情況......
我已經嘗試過使用JSON.net,實際上我想也許這是JSON.net的問題,所以我將它轉換爲使用本機.net框架中的反序列化器,但是錯誤也是一樣的。
爲什麼應用程序剛剛退出?它不應該給我一些錯誤信息?
我可能會做錯什麼?
非常感謝!
嘗試更改您的調試設置以拋出所有異常 - 在發出Web請求時,我有一些異常被無聲地拋出。 – 2010-08-06 01:39:06
你能告訴我我在哪裏做這個改變?謝謝! – SelAromDotNet 2010-08-06 15:32:41
ctrl + alt + e然後選擇例外 – 2011-02-11 13:10:17