【发布时间】:2015-04-06 04:11:30
【问题描述】:
我正在使用一个搜索框,我将在其中加载姓名列表。
我的代码在后面
private async void SearchBox_SuggestionsRequested(SearchBox sender, SearchBoxSuggestionsRequestedEventArgs args)
{
if (string.IsNullOrEmpty(args.QueryText))
{
return;
}
var collection = args.Request.SearchSuggestionCollection;
if(oldquery != args.QueryText && args.Request.IsCanceled == false)
{
var deferral = args.Request.GetDeferral();
try
{
oldquery = args.QueryText;
var listOfBanks = await addFIPageViewModel.GetBanksOnQuery();
foreach (Institution eachBank in listOfBanks)
{
collection.AppendQuerySuggestion(eachBank.Name);
}
}
//JUST Logging and ignoring. Can I handle it in a better way
catch(Exception e)
{
Debug.WriteLine(e.StackTrace);
}
finally
{
deferral.Complete();
}
}
}
“System.Threading.Tasks.TaskCanceledException”类型的异常 一个任务被取消了。正在发生的行
var listOfBanks = await addFIPageViewModel.GetBanksOnQuery();
如你所见,我只是忽略了。
有没有更好的方法来处理这个问题?
我无法确定此问题的根本原因。如果这是在 SearchSuggestionRequested 中调用异步方法的正确方法,有人可以指导一下。
【问题讨论】:
标签: c# winrt-xaml windows-8.1 winrt-async win-universal-app