ASP.NET MVC : Action Filter to set up controller variables?

标签 asp.net asp.net-mvc action-filter

我有一个场景,对于每个页面请求,我必须检查 session 是否存在特定 ID。如果发现这一点,我必须从数据库中获取相关对象并将其提供给 Controller 。如果找不到 session ID,我需要重定向用户( session 已过期)。

目前,我有一个自定义代码块(几行),它在 Controller 内的每个操作方法的开始处执行此操作 - 这似乎是不必要的重复。

这种情况值得使用操作过滤器吗?

谢谢

更新 伙计们,这里有一些很棒的信息。谢谢

最佳答案

是的,这听起来像是 Action 过滤器的一个很好的应用,因为您可以在 Controller 级别应用它来对所有 Action 进行操作。如果您不想手动将其添加到所有 Controller ,您也可以将其作为 Controller 基类的一部分,或者编写自己的 Controller 工厂,自动将此操作过滤器应用于每个 Controller 。

参见ASP.NET MVC Pass object from Custom Action Filter to Action用于将数据从操作过滤器传递到操作。

关于ASP.NET MVC : Action Filter to set up controller variables?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6679736/

相关文章:

c# - ValueTuple 在带有 MVC 5 的 Razor View 中不起作用

asp.net - Html文本编辑器问题

View 组件中的 Javascript

asp.net-web-api - 将一个对象从 ActionFilter.OnActionExecuting() 传递给 ApiController

asp.net-core - 如何像Controller一样使用AuthorizeFilter中的内存缓存?

c# - 如何联合两个数据表并对结果进行排序

带有 JQuery 移动对话框的 ASP.NET Gridview

asp.net-mvc - 如何在编辑页面 MVC 中设置下拉列表选定值

asp.net-mvc - 在 Umbraco 7 中构建联系表单

asp.net-mvc-3 - filterContext.Controller.ViewData.Model 在 ActionFilter.OnActionExecuted 中为 null