Задача была отменена - что это значит?

Я использую Azure Search .Net SDK.

Я вызываю синхронную (НЕ ASYNC) функцию следующим образом:

var searchResults = searchIndexClient.Documents.Search<T>(searchText, searchParameters);

Обычно это работает. Я не использую никаких асинхронных функций, но почему-то только что полученная ошибка выглядит как асинхронная ошибка:

System.Threading.Tasks.TaskCanceledException: A task was canceled.

CancellationToken: IsCanceleationRequested=false

Task: Id = 556, Status = Canceled, Method = "{null}", Result = "{Not yet computed}"

StackTrace:

в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Задача) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Задача) в System.Runtime.CompilerServices.ConfiguredTask1.ConfiguredTaskAwaiter.GetResult() at Microsoft.Azure.Search.DocumentsOperations.<DoContinueSearchWithHttpMessagesAsync>d__153.MoveNext() --- Конец трассировки стека от предыдущего местоположения, где было сгенерировано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(задача-задача) в системе.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) в System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult() at Microsoft.Azure.Search.DocumentsOperationsExtensions.<SearchAsync>d__151.MoveNext () --- Конец трассировки стека от предыдущего местоположения, где было сгенерировано исключение --- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(задача-задача) в системе.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) в System.Runtime.CompilerServices.TaskAwaiter1.GetResult() at Microsoft.Azure.Search.DocumentsOperationsExtensions.Search[T](IDocumentsOperations operations, String searchText, SearchParameters searchParameters, SearchRequestOptions searchRequestOptions) at MyApp.AzureSearch.AzureSearchService.PerformSearch[T](String searchText, SearchParameters searchParameters) in c:\Projects\MyAppServer\src\MyApp.AzureSearch\AzureSearchService.cs:line 359 at MyApp.AzureSearch.AzureSearchService.Search[T](String searchText, List1 searchFields, SearchMode searchMode, Список1 select, Nullable1 пропуск, Nullable1 top, String filter, Boolean includeTotalResultCount, List1 orderBy) в c:\Projects\MyAppServer\src\MyApp.AzureSearch\AzureSearchService.cs: строка 262 в MyApp.AzureSearch.AzureSearchService.SearchEmails(Guid userId, источник строки, строка поискаТекст, Nul1 skip, Nullable1 сверху, Boolean includeTotalResultCount, Boolean includeHtmlBody, Boolean orderByProcessedAscending, String interactionStatus) в C: \ Projects \ MyAppServer \ Src \ MyApp.AzureSearch \ AzureSearchService.cs: строка 167 в MyApp.Domain.MyAppMessages.Command.MyAppMessagesAllNoticedUpdater.Handle(VisitorSession userSession, NoticeAllMyAppMessages processCommand) в c:\Projects\MyAppServer\src\MyApp.Domain\MyAppMessages\Command\MyAppMessagesAllNoticedUpdater.cs: строка 30

1 ответ

Скорее всего, истекло время ожидания клиента до завершения поиска. Вы видите эту ошибку, когда отправляете особенно сложный запрос? При необходимости вы можете посмотреть на эффективность поиска в вашем сервисе, используя аналитику поискового трафика.

Причина, по которой вы видите "асинхронное" исключение, заключается в том, что синхронная версия API является просто оболочкой для асинхронных примитивов.

Передайте CancellationToken=null и сделайте код асинхронными методами.

Другие вопросы по тегам