我正在尝试将我的 Azure 函数迁移到独立函数,并按照 Microsoft 的说明进行操作。 https://learn.microsoft.com/en-us/azure/azure-functions/migrate-dotnet-to-isolated-model?tabs=net8
进行必要的代码和包更改后,当我测试函数触发器时,带有“CreatedAtRouteResult”的触发器端点在邮递员上失败并显示“500 InternalServerError”,并且 任何 TRY CATCH 块都没有捕获异常。 在迁移到独立函数之前,我能够在响应的位置标头中获取完整的路由或 Url,如下面的屏幕截图所示。
responseObject == null ? (IActionResult)new BadRequestResult()
: new CreatedAtRouteResult(
"GetEndpointName",
new { param1, param2 = param2value },
responseObject);
我尝试将其更改为“CreatedResult”,它工作正常,但这会迫使我手动在响应中包含位置标头,而我不想这样做。
我试过这个:
responseObject == null ? (IActionResult)new BadRequestResult()
: new CreatedResult(
"GetEndpointRouteUrl",
responseObject);
这是我的 Program.cs 文件
请指导我,提前谢谢!
它工作正常,但这会迫使我手动在响应中包含位置标头,而我不想这样做。
是的,据我所知,在独立函数中,
CreatedAtRouteResult
给出了例外,因为您不需要位置标头,但是当您使用CreatedResult
时,它需要给出位置标头:
我使用的代码与您类似:
return new CreatedResult("testendpointurl", responseObject);
输出:
如果您仍然不确定,那么我建议您提出支持请求。