“找不到方法:'System.Text.Json.JsonEncodedText System.Text.Json.JsonEncodedText.Encode(System.String,System.Text.Encodings.Web.JavaScriptEncoder)

问题描述

当我尝试在 Azure 函数中使用 Azure.Search.Documents 时,抛出了一个 Json 异常。

环境总结:VS Code、HttpTrigger Azure Function:V3、netcoreapp3.1

相同的完整堆栈跟踪是:

" 在 Azure.Search.Documents.Models.SearchResults1.DeserializeAsync(Stream json,ObjectSerializer serializer,Boolean async,CancellationToken cancellationToken)\r\n at Azure.Search.Documents.SearchClient.SearchInternal[T](SearchOptions options,String operationName,CancellationToken cancellationToken)\r\n at Azure.Search.Documents.SearchClient.SearchInternal[T](String searchText,SearchOptions options,CancellationToken cancellationToken)\r\n at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted[T](Task1 个任务)\r\n 在 Azure.Search.Documents.SearchClient.Search[T](String searchText,CancellationToken cancelationToken)\ r\n 在 SearchService.Utility.RunQueries(SearchClient srchclient,String inputVal,String 性别,String body_part,String age_group)"

解决方法

这是由 azure 函数中的库不匹配引起的。安装最新版本的 System.Text.Json 可确保该函数具有可用的正确方法。