You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 7孤立工作者模型Azure Functions中NotFoundObjectResult的等效替代

.NET 7孤立工作者模型中返回“未找到数据”的等效实现

在.NET 7的Azure Function孤立工作者模型中,不再使用ASP.NET Core的NotFoundObjectResult这类ActionResult类型,而是通过HttpResponseData来构建HTTP响应。以下是等效实现代码:

// 函数需注入FunctionContext参数
public async Task<HttpResponseData> Run(
    [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequestData req,
    FunctionContext context,
    ILogger log)
{
    try
    {
        // 业务逻辑代码
    }
    catch (Exception ex)
    {
        log.LogError($"Data Access Failed: {ex.Message}");

        // 构建404响应
        var response = context.GetHttpResponseData();
        response.StatusCode = System.Net.HttpStatusCode.NotFound;
        response.Headers.Add("Content-Type", "application/json; charset=utf-8");
        
        // 写入JSON格式的响应内容
        await response.WriteAsJsonAsync(new { Message = ex.Message });
        // 若需返回纯文本,可替换为:
        // await response.WriteStringAsync(ex.Message);

        return response;
    }
}

关键说明:

  • 孤立工作者模型的HTTP触发函数,返回类型统一为HttpResponseData
  • 必须通过FunctionContext的GetHttpResponseData()方法创建响应实例
  • 设置StatusCode为HttpStatusCode.NotFound即可返回404状态码
  • 可通过WriteAsJsonAsync或WriteStringAsync方法写入响应内容,适配不同格式需求

内容的提问来源于stack exchange,提问作者wonderful world

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 12:34:55