Azure隔离进程函数返回40x异常:始终返回200问题排查
解决办法
问题根源在于你先创建了默认状态码为200的响应对象,再修改StatusCode。在.NET 6隔离进程模型中,正确的做法是创建响应时直接传入目标状态码,而非后续修改:
catch (InvalidModelException inv) { var res = req.CreateResponse(HttpStatusCode.BadRequest); await res.WriteAsJsonAsync(inv.ErrorResponseModel); return res; }
这样就能确保响应返回400 BadRequest状态码,同时正常返回错误模型数据。如果问题仍存在,可以检查是否有自定义中间件或扩展逻辑无意中覆盖了响应状态码,但绝大多数场景下,直接在创建响应时指定状态码即可解决问题。
内容的提问来源于stack exchange,提问作者imran chowdhury
相关产品推荐
相关产品推荐

