8

Azure Search .Net SDK を使用しています。

次のような同期(非同期ではない)関数を呼び出しています。

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.ConfiguredTaskAwaitable 1.ConfiguredTaskAwaiter.GetResult() at Microsoft.Azure.Search.DocumentsOperations.<DoContinueSearchWithHttpMessagesAsync>d__153.MoveNext() --- 前のスタック トレースの終わり例外がスローされた場所 --- System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) の System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) の System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() .Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult() at Microsoft.Azure.Search.DocumentsOperationsExtensions.<SearchAsync>d__151.MoveNext() --- 例外がスローされた前の場所からのスタック トレースの終わり --- System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() で System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) で System c:\Projects\MyAppServer\src\MyApp.AzureSearch \ AzureSearchService 1.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. cs: MyApp.AzureSearch.AzureSearchService.SearchEmails の 262 行目 (Guid userId、String origin、String searchText、Nullable1 select, Nullable1 top, String filter, Boolean includeTotalResultCount, List1 skip, Nullablec:\Projects\MyAppServer\src\MyApp.AzureSearch\AzureSearchService.cs: 167 行目の MyApp.Domain.MyAppMessages.Command.MyAppMessagesAllNoticedUpdater.Handle(VisitorSession userSession 、c:\Projects\MyAppServer\src\MyApp.Domain\MyAppMessages\Command\MyAppMessagesAllNoticedUpdater.cs:line 30 の NoticeAllMyAppMessages processCommand)

4

2 に答える 2

5

ほとんどの場合、検索が完了する前にクライアントのタイムアウトが期限切れになりました。特に複雑なクエリを送信すると、このエラーが表示されますか? 必要に応じて、検索トラフィック分析を使用してサービスの検索パフォーマンスを確認できます。

「非同期」例外が表示される理由は、API の同期バージョンが非同期プリミティブの単なるラッパーであるためです。

于 2016-11-07T07:57:23.137 に答える