【发布时间】:2021-06-14 09:13:23
【问题描述】:
前几天将我的 Azure Function 迁移到 .net5,现在我在处理基本的输入绑定问题。
我的查询 => /api/query?sgtins=foo1&sgtins=foo2
在 3.1 版本中,一个简单的 req.Query["sgtins"] 就可以完成这项工作。但现在在 .net5 上我不知道。使用字符串、整数等很好,但是一旦我使用 IEnumerable,它就会在运行时崩溃。有任何想法吗?目前有关 .net5 的文档很可悲:(
这是我的演示代码。使用上面提到的url。
这里是例外;
[2021-06-14T08:34:53.015Z] 执行“Functions.QueryProductEntities”(失败,Id=5f33b8ab-fdb2-483c-93fc-6dac3bb25ddc,持续时间=531ms) [2021-06-14T08:34:53.015Z] System.Private.CoreLib:执行函数时出现异常:Functions.QueryProductEntities。 System.Private.CoreLib:结果:失败 [2021-06-14T08:34:53.015Z] 异常:Microsoft.Azure.Functions.Worker.Diagnostics.Exceptions.FunctionInputConverterException:转换函数“QueryProductEntities”的 1 个输入参数时出错:无法将输入参数“sgtins”转换为“System”类型.Collections.Generic.IEnumerable`1[[System.String, System.Private.CoreLib, Version=5.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]' 来自“System.String”类型。 [2021-06-14T08:34:53.015Z] 在 Microsoft.Azure.Functions.Worker.Context.Features.DefaultModelBindingFeature.BindFunctionInput(FunctionContext context) 在 D:\a\1\s\src\DotNetWorker.Core\Context\ Features\DefaultModelBindingFeature.cs:第 70 行 [2021-06-14T08:34:53.015Z] 在 D:\a\1\s\src\DotNetWorker.Core\Invocation\DefaultFunctionExecutor 中的 Microsoft.Azure.Functions.Worker.Invocation.DefaultFunctionExecutor.ExecuteAsync(FunctionContext context)。 CS:第 37 行 [2021-06-14T08:34:53.015Z] 在 Microsoft.Azure.Functions.Worker.OutputBindings.OutputBindingsMiddleware.Invoke(FunctionContext context, FunctionExecutionDelegate next) 在 D:\a\1\s\src\DotNetWorker.Core\OutputBindings \OutputBindingsMiddleware.cs:第 13 行 [2021-06-14T08:34:53.015Z] 在 Microsoft.Azure.Functions.Worker.GrpcWorker.InvocationRequestHandlerAsync(InvocationRequest 请求,IFunctionsApplication 应用程序,IInvocationFeaturesFactory invocationFeaturesFactory,ObjectSerializer 序列化程序,IOutputBindingsInfoProvider outputBindingsInfoProvider)在 D:\a\1\s\ src\DotNetWorker.Grpc\GrpcWorker.cs:第 166 行 [2021-06-14T08:34:53.015Z] 堆栈:位于 D:\a\1\s\src\DotNetWorker.Core\ 中的 Microsoft.Azure.Functions.Worker.Context.Features.DefaultModelBindingFeature.BindFunctionInput(FunctionContext context) Context\Features\DefaultModelBindingFeature.cs:第 70 行 [2021-06-14T08:34:53.015Z] 在 D:\a\1\s\src\DotNetWorker.Core\Invocation\DefaultFunctionExecutor 中的 Microsoft.Azure.Functions.Worker.Invocation.DefaultFunctionExecutor.ExecuteAsync(FunctionContext context)。 CS:第 37 行 [2021-06-14T08:34:53.015Z] 在 Microsoft.Azure.Functions.Worker.OutputBindings.OutputBindingsMiddleware.Invoke(FunctionContext context, FunctionExecutionDelegate next) 在 D:\a\1\s\src\DotNetWorker.Core\OutputBindings \OutputBindingsMiddleware.cs:第 13 行 [2021-06-14T08:34:53.015Z] 在 Microsoft.Azure.Functions.Worker.GrpcWorker.InvocationRequestHandlerAsync(InvocationRequest 请求,IFunctionsApplication 应用程序,IInvocationFeaturesFactory invocationFeaturesFactory,ObjectSerializer 序列化程序,IOutputBindingsInfoProvider outputBindingsInfoProvider)在 D:\a\1\s\ src\DotNetWorker.Grpc\GrpcWorker.cs:166 行。
【问题讨论】:
标签: azure-functions .net-5 inputbinding