簡體   English   中英

WCF異步方法僅在調試時有效

[英]WCF Async Method only working when debugging

我有一個奇怪的問題,我正在構建通用應用程序,並且在調試時一切正常,但是當我在未調試的情況下運行時,模擬器會嘗試打開應用程序,然后崩潰。

這是我知道失敗的代碼:

private void MenuPage_Loaded(object sender, RoutedEventArgs e)
{
   SetItemSource();
}

private async void SetItemSource()
{
   MenuItems =  await AppWinService.GetMenuEntriesAsync();     
   ItemSource = new ObservableCollection<AlphaKeyGroup<Menu>>
         ((AlphaKeyGroup<Menu>.CreateGroups(MenuItems,
                                            CultureInfo.CurrentUICulture, 
                                            s => s.MenuName, 
                                            true)));

   ((CollectionViewSource)Resources["MenuGroups"]).Source = ItemSource;

 }

有什么建議么? 提前致謝。

您確定MenuItems 在所有情況下都恢復有效嗎? 超時會發生什么?

為什么不檢查null只是為了安全:

MenuItems =  await AppWinService.GetMenuEntriesAsync();   

if ((MenuItems != null) && (MenuItems.Any())
{
   ItemSource = new ObservableCollection<AlphaKeyGroup<Menu>>(
                                          (AlphaKeyGroup<Menu>.CreateGroups(MenuItems,
                                           CultureInfo.CurrentUICulture, 
                                           s => s.MenuName, 
                                           true)));

  ((CollectionViewSource)Resources["MenuGroups"]).Source = ItemSource;
}
else 
{ 
   MessageBox.Show("Failure to get data"); 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM