c# - Ninject BindFIlter<> 中 FilterScope 参数的用途是什么?

标签 c# asp.net-mvc dependency-injection ninject actionfilterattribute

请有人解释一下FilterScope是什么?是在BindFilter<>中方法?

我正在使用以下内容:

kernel.BindFilter<QuizExists>(System.Web.Mvc.FilterScope.Controller, null).WhenControllerHas<QuizExistsAttribute>();

kernel.BindFilter<QuizExists>(System.Web.Mvc.FilterScope.Action, null).WhenActionMethodHas<QuizExistsAttribute>();

看来FilterScope影响属性执行的顺序,但是还有第二个参数,即 order .

什么给出了?

最佳答案

documentation中的评论非常清楚 FilterScope 的用途。它将过滤器的范围限制为Controller级别或Action级别。

虽然 order 参数似乎没有记录,但我认为如果多个过滤器应用于单个 Controller 或操作,它会控制应用过滤器的顺序。例如,您可以在 LogFilter 之前运行 AuditFilter,无论它们注册的顺序如何。如果您要将一些过滤器属性应用于直接 Controller 并通过 Ninject 注册其他过滤器属性 - 如果没有此参数,将无法告诉框架应用它们的顺序。

关于c# - Ninject BindFIlter<> 中 FilterScope 参数的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32028445/

相关文章:

c# - 如何使用 System.IO.FileStream 读取希伯来文本?

C# 无法将撇号保存到 XML

asp.net-mvc - 让 Angular 在 ASP.NET MVC/WEB Api 模板中工作的最少工作是什么

Jquery 在 MVC Foreach 中制作选择器

c# - 是否有可能 "intercept"第三方库的 "WriteFile"操作

c# - 将 PEM 编码的 RSA 公钥转换为 AsymmetryKeyParameter

javascript - 在 asp.net mvc 中处理 javascript 注入(inject)

android - Dagger 2 定制化提供改造

symfony - 使用 symfony DI 延迟加载依赖项

javascript - 注入(inject)服务未定义