问题标签 [global-filter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - 如何有选择地禁用 ASP.Net MVC 中的全局过滤器
我已经为我打开和关闭 NHibernate 会话的所有控制器操作设置了一个全局过滤器。这些操作中的 95% 需要一些数据库访问权限,但 5% 不需要。是否有任何简单的方法可以为这 5% 禁用此全局过滤器。我可以反过来,只装饰需要数据库的操作,但这将是更多的工作。
c# - 如何将 Global ActionFilter 应用于所有控制器并返回 Result?
如何正确应用全局动作过滤器,使其触发所有动作,然后返回触发过滤器的自定义动作结果?我将提供到目前为止我所做的事情的示例,但无法触发filterContext.Result = ...
全球.asax
如何从这个上下文中正确重定向到 LogOff() 方法,使用 Result 或其他方式?谢谢!
asp.net-mvc-3 - 如何将值从全局过滤器传递到控制器?
在 MVC3 应用程序中,我需要一个全局过滤器来获取一个值,并且在执行任何控制器之前,但是我以后如何从控制器中获取该值?
html - 如何在 MVC3 中过滤和压缩输出 HTML?
在我的 MVC3 项目中,所有页面都有以下 HTML 作为输出
但是,如何制作过滤器来修剪行并删除空白行,以获得如下示例的输出......
asp.net-mvc - MVC 中的单元测试全局过滤器
我有一个 MVC4 应用程序并在 global.asax 中添加了一堆全局过滤器。它们需要按一个顺序排列。我想编写一个单元测试以确保它们始终处于所需的顺序。有没有办法访问所有全局过滤器或测试它?
asp.net-mvc-4 - 使用 log4net 登录 Asp.net MVC 应用程序
我的是一个 Asp.net MVC 4 应用程序。我需要执行以下操作;根据 web.config 文件中设置的日志级别(例如 1/2/3/4)
我必须记录:
1:
- 方法开始
- 方法结束
- 应用警告
应用异常
2:
- 应用程序警告
- 应用程序例外
3:
- 应用程序例外
4:
- 没有任何
此外,我需要使用全局过滤器来实现这一点。
请给我一些指示。
提前致谢。
解决
以下是我的步骤
我创建了以下过滤器类
此类将检查配置文件中的日志级别,如果找到 1 通过 OnActionExecuting() 和 OnActionExecuted() 将记录方法开始和方法结束。
以下是用于记录异常的 ExceptionFilter 类
此类根据日志级别,记录所有异常或仅记录应用程序异常。
如果 Loglevel 为 none,则没有条件为真/不记录任何内容。
asp.net-mvc-4 - 条件过滤器:仅适用于继承自 baseController 且为 post 的控制器)
如何为控制器继承baseController
并且是帖子的所有操作应用全局过滤器?
试图
已经在使用Ninject.Web.MVC akaNinject.Web.Mvc.FilterBindingSyntax
但我不知道如何BindFilter
仅将条件应用于帖子。
kernel.BindFilter<ValidateJsonAntiForgeryTokenAttribute>(System.Web.Mvc.FilterScope.Action, 0).WhenControllerType<baseController>();
...??
这个尝试没有成功,因为我无法向 BindFilter 添加两个条件
hibernate - 休眠全局过滤器未应用于 DML - 删除、更新查询
我正在尝试使用 Hibernate 的全局过滤器为单表多租户模型(所有租户的共享数据库)实现基于 DISCRIMINATOR 的多租户。
我知道全局过滤器没有应用于下面提到的 SQL 操作。
- 创造
- 更新
- 删除
它仅适用于基于 Criteria 的搜索,甚至不适用于Dao.findById(..)
API。
全局过滤器仅适用于 SELECT 查询,而不适用于任何 DML 操作,这对吗?
如果是这样,那么只对一个操作使用 Hibernate Global 过滤器没有任何意义,那么 CREATE、UPDATE、DELETE 呢?
我有一个疑问,请帮助我。
c# - global.asax 中的 Application_Error 事件未触发
我遇到了一个问题,Application_Error
当我明确抛出页面级异常时,事件似乎没有触发。
我的 Global.asax.cs 文件如下:
我的 web.config 文件有<customErrors mode="Off">
.
我的 filterconfig 如下所示:
我尝试了以下修复:
- 更改
customErrors
为开或关 - 实现一个新的过滤器并将其添加到 filterconfig
每当我在 VS 中抛出异常时,我都会尝试进入它,但它只是继续运行。有谁知道为什么Application_Error
不被解雇?
编辑:看起来范围会影响是否Application_Error
被调用。所以问题真的是,为什么Application_Error
不在页面级别被调用。
entity-framework-6 - EntityFramework.Filters - 过滤表达式并连接到另一个表
我修改了 jbogards EntityFramework.Filters,它将对“全局过滤器”的支持添加到 EF DbContext。(见https://github.com/jbogard/EntityFramework.Filters)
当我试图让它与一个简单的连接表达式一起工作时,我偶然发现了一个问题。
在我的场景中,我有一个“AccessPredicate”表,其中包含 IResource(文档或章节)的 id 和用户的 id。现在我想要实现的是过滤不允许用户看到的文档和章节
为了支持这一点,我必须在 EntityFramework.Filters 中更改的是 ParameterReplacer.VisitLamda 方法,因为它试图始终返回 Func 类型的 lamda 表达式,但因为我有一个子 lamda (as.UserId == 2l)我必须添加一个类型检查:
所以现在它在 FilterQueryVisitor.Visit(...) 的倒数第二行爆炸了
var output = result.Predicate.Accept(normalizer);
AccessPredicates 是 Document 上的导航属性,但是 EdmType(我调试了引发错误的实体框架:System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder.Internal.ArgumentValidation.ValidateProperty)在其“成员”中只有两个项目集合:“Id”和“Title”
但是,如果我不使用过滤器,而是像这样手动编写查询:
var x = ctx.Documents
.Where(@d => @d.AccessPredicates.Any(@a => @a.UserId == userId))
.Take(1).FirstOrDefault();
那么“成员”集合包含“Id”、“Title”、“AccessPredicates”和“Chapter”,正如我所期望的那样。你知道怎么可能吗?
在我看来,EntityFramework 为它解析的每个查询构造 StructuralTypes(继承 EdmType),当我添加过滤器时,我错过了一些东西......:/
为了便于调试,我添加了一个测试项目: http: //1drv.ms/1BbrBAL 只需在 package-manager 中运行“update-database”,然后按 F5。
我不知道这是否是一个真正的 EF 问题,但我不知道任何其他地方可以帮助我深入了解您所拥有的 EF 内部结构。我真的希望你能帮我解决这个问题:/