Używam zestawu SDK platformy .NET Azure.Zadanie zostało anulowane - co to znaczy?
Dzwonię synchronicznego (NIE ASYNC) Funkcja tak:
var searchResults = searchIndexClient.Documents.Search<T>(searchText, searchParameters);
To zazwyczaj działa. Nie używam żadnych funkcji async, ale jakoś błąd Właśnie wygląda jak błąd asynchronicznym:
System.Threading.Tasks.TaskCanceledException: A task was canceled.
CancellationToken: IsCanceleationRequested=false
Task: Id = 556, Status = Canceled, Method = "{null}", Result = "{Not yet computed}"
StackTrace:
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable
1.ConfiguredTaskAwaiter.GetResult() at Microsoft.Azure.Search.DocumentsOperations.<DoContinueSearchWithHttpMessagesAsync>d__15
3.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult() at Microsoft.Azure.Search.DocumentsOperationsExtensions.<SearchAsync>d__15
1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at 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, List
1 searchFields, SearchMode searchMode, List1 select, Nullable
1 skip, Nullable1 top, String filter, Boolean includeTotalResultCount, List
1 orderBy) in c:\Projects\MyAppServer\src\MyApp.AzureSearch\AzureSearchService.cs:line 262 at MyApp.AzureSearch.AzureSearchService.SearchEmails(Guid userId, String origin, String searchText, Nullable1 skip, Nullable
1 top, Boolean includeTotalResultCount, Boolean includeHtmlBody, Boolean orderByProcessedAscending, String interactionStatus) in c:\Projects\MyAppServer\src\MyApp.AzureSearch\AzureSearchService.cs:line 167 at MyApp.Domain.MyAppMessages.Command.MyAppMessagesAllNoticedUpdater.Handle(VisitorSession userSession, NoticeAllMyAppMessages processCommand) in c:\Projects\MyAppServer\src\MyApp.Domain\MyAppMessages\Command\MyAppMessagesAllNoticedUpdater.cs:line 30
Dzięki, doszedłem do wniosku, że po prostu zawijam funkcję asynchroniczną. Nie było to wcale złożone zapytanie, a także bardzo mało danych w zapytaniu. Nie oczekiwałem, że pakiet .net SDK zgłosi błąd, chyba że coś jest źle skonfigurowane w zapytaniu. Czy istnieje lista wszystkich możliwych błędów, które mogą być zgłaszane przez .net SDK, który powinienem obsłużyć? – richard
Główne wyjątki, które można rzucać, to: 'CloudException',' IndexBatchException' (tylko do indeksowania), 'ValidationException' i oczywiście' OperationCanceledException' (lub jego podklasa 'TaskCanceledException', którą masz tutaj do czynienia). Ale ponieważ C# nie jest sprawdzonym językiem wyjątku, możesz również zobaczyć inne wyjątki (takie jak ArgumentException). –