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

如何在.NET Standard类库中设置IActionResult?

.NET Standard 2.0类库中设置IAsyncActionFilter的context.Result解决方案

1. 安装依赖NuGet包

你缺少的Action结果类型都在Microsoft.AspNetCore.Mvc.Abstractions包中,这个包原生支持.NET Standard 2.0,直接在类库项目中安装对应2.x版本的包即可(2.x版本和.NET Standard 2.0兼容性最好,可避免后续和主项目的版本冲突)。
如果需要用到更多内置的结果处理工具,可额外安装Microsoft.AspNetCore.Mvc.Core包,仅设置返回结果只需要前者即可。

2. 赋值context.Result的实现方式

手动实例化结果对象(推荐,仅需Abstractions包)

不需要调用Ok()这类快捷方法,直接实例化对应结果类型赋值即可,示例代码如下:

public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
    // 模拟缓存命中逻辑
    if (TryGetCache(out var cachedData))
    {
        // 等价于Ok(cachedData),直接赋值即可短路请求
        context.Result = new OkObjectResult(cachedData);
        return;
    }
    await next();
}

其他常见的结果类型可直接对应实例化:

  • 无返回内容的200响应:new OkResult()
  • 404响应:new NotFoundResult()
  • 自定义状态码的对象返回:new ObjectResult(yourData) { StatusCode = 201 }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:45:02