如何使动作过滤器使经过过滤的动作返回HttpNotFoundResult?

教授

我有一个自定义操作过滤器,用于非常明确的内容长度限制。它的工作方式如下:

public override void OnActionExecuting(ActionExecutingContext filterContext)
{
    if (filterContext.HttpContext.Request.ContentLength >= MaxLength)
    {
        throw new HttpException("MaxLengthFilter: Request has Content-Length > " + MaxLength);
    }
    base.OnActionExecuting(filterContext);
}

我希望如果对内容长度超过最大长度的任何操作返回的结果更有意义,例如HTTP 404.13。如果我直接在操作内部进行过滤,则可以使用“ return new HttpNotFoundResult()”,但是过滤器的OnActionExecuting方法是type void

由于需要过滤的某些动作ActionResult而有些需要过滤,JsonResult后者需要序列化的动作,这变得更加复杂HttpNotFoundResult

阿莱哈

没有必要抛出异常。您可以重定向到自定义错误操作。这是一个像这样问题

public override void OnActionExecuting(ActionExecutingContext filterContext)
{
    if (filterContext.HttpContext.Request.ContentLength >= MaxLength)
    {
       filterContext.Result = RedirectToAction("Error401_13", "Error"); //for example
       return;
    }
    base.OnActionExecuting(filterContext);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使动作过滤器使经过过滤的动作返回HttpNotFoundResult?

来自分类Dev

如何使用动作过滤器更改输入参数

来自分类Dev

如何开发特定于动作过滤器的控制器或动作方法

来自分类Dev

将服务注入动作过滤器

来自分类Dev

生成由动作过滤器控制的PDF?

来自分类Dev

阻止在动作过滤器中执行

来自分类Dev

覆盖的动作是否从基本动作继承动作过滤器?

来自分类Dev

Web API:动作过滤器使用给定的ApiKey获取ClientId,但是如何在Controller类中获取ClientID?

来自分类Dev

如何为所有控制器编写动作过滤器

来自分类Dev

如何在动作过滤器中获取当前模型

来自分类Dev

如何将JSon对象从动作过滤器类传递到Onsuccess脚本

来自分类Dev

使用动作过滤器修改动作内的值

来自分类Dev

将TempData从动作过滤器传递到动作

来自分类Dev

控制器上的同类型动作过滤器及其动作方法

来自分类Dev

控制器上的同类型动作过滤器及其动作方法

来自分类Dev

在MVC动作过滤器中获取类似于webapi的动作参数

来自分类Dev

如何在ASP.NET CORE中将动作过滤器与依赖注入一起使用?

来自分类Dev

如何在Web API中使用动作过滤器和HttpResponseMessage一起使用ETag

来自分类Dev

如何跨动作过滤器和控制器传递工作单元/实体上下文

来自分类Dev

如何使用动作过滤器在asp.net mvc中集中进行模型状态验证?

来自分类Dev

在MVC 5中的动作过滤器中调用异步方法

来自分类Dev

在MVC5中自动调用动作过滤器

来自分类Dev

将会话变量存储在动作过滤器或静态方法中

来自分类Dev

将动作过滤器添加到局部视图

来自分类Dev

什么时候需要包括/排除MVC动作过滤器的基本调用?

来自分类Dev

Web API动作过滤器可处理空集和404

来自分类Dev

自定义动作过滤器统一依赖注入Web API 2

来自分类Dev

动作过滤器中的ASP.NET Web API读取模型

来自分类Dev

动作过滤器属性无法与Hub类一起正常使用

Related 相关文章

  1. 1

    如何使动作过滤器使经过过滤的动作返回HttpNotFoundResult?

  2. 2

    如何使用动作过滤器更改输入参数

  3. 3

    如何开发特定于动作过滤器的控制器或动作方法

  4. 4

    将服务注入动作过滤器

  5. 5

    生成由动作过滤器控制的PDF?

  6. 6

    阻止在动作过滤器中执行

  7. 7

    覆盖的动作是否从基本动作继承动作过滤器?

  8. 8

    Web API:动作过滤器使用给定的ApiKey获取ClientId,但是如何在Controller类中获取ClientID?

  9. 9

    如何为所有控制器编写动作过滤器

  10. 10

    如何在动作过滤器中获取当前模型

  11. 11

    如何将JSon对象从动作过滤器类传递到Onsuccess脚本

  12. 12

    使用动作过滤器修改动作内的值

  13. 13

    将TempData从动作过滤器传递到动作

  14. 14

    控制器上的同类型动作过滤器及其动作方法

  15. 15

    控制器上的同类型动作过滤器及其动作方法

  16. 16

    在MVC动作过滤器中获取类似于webapi的动作参数

  17. 17

    如何在ASP.NET CORE中将动作过滤器与依赖注入一起使用?

  18. 18

    如何在Web API中使用动作过滤器和HttpResponseMessage一起使用ETag

  19. 19

    如何跨动作过滤器和控制器传递工作单元/实体上下文

  20. 20

    如何使用动作过滤器在asp.net mvc中集中进行模型状态验证?

  21. 21

    在MVC 5中的动作过滤器中调用异步方法

  22. 22

    在MVC5中自动调用动作过滤器

  23. 23

    将会话变量存储在动作过滤器或静态方法中

  24. 24

    将动作过滤器添加到局部视图

  25. 25

    什么时候需要包括/排除MVC动作过滤器的基本调用?

  26. 26

    Web API动作过滤器可处理空集和404

  27. 27

    自定义动作过滤器统一依赖注入Web API 2

  28. 28

    动作过滤器中的ASP.NET Web API读取模型

  29. 29

    动作过滤器属性无法与Hub类一起正常使用

热门标签

归档