问题标签 [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.

0 投票
7 回答
34254 浏览

asp.net-mvc - 如何有选择地禁用 ASP.Net MVC 中的全局过滤器

我已经为我打开和关闭 NHibernate 会话的所有控制器操作设置了一个全局过滤器。这些操作中的 95% 需要一些数据库访问权限,但 5% 不需要。是否有任何简单的方法可以为这 5% 禁用此全局过滤器。我可以反过来,只装饰需要数据库的操作,但这将是更多的工作。

0 投票
1 回答
3892 浏览

c# - 如何将 Global ActionFilter 应用于所有控制器并返回 Result?

如何正确应用全局动作过滤器,使其触发所有动作,然后返回触发过滤器的自定义动作结果?我将提供到目前为止我所做的事情的示例,但无法触发filterContext.Result = ...

全球.asax

如何从这个上下文中正确重定向到 LogOff() 方法,使用 Result 或其他方式?谢谢!

0 投票
2 回答
819 浏览

asp.net-mvc-3 - 如何将值从全局过滤器传递到控制器?

在 MVC3 应用程序中,我需要一个全局过滤器来获取一个值,并且在执行任何控制器之前,但是我以后如何从控制器中获取该值?

0 投票
1 回答
344 浏览

html - 如何在 MVC3 中过滤和压缩输出 HTML?

在我的 MVC3 项目中,所有页面都有以下 HTML 作为输出

但是,如何制作过滤器来修剪行并删除空白行,以获得如下示例的输出......

0 投票
2 回答
934 浏览

asp.net-mvc - MVC 中的单元测试全局过滤器

我有一个 MVC4 应用程序并在 global.asax 中添加了一堆全局过滤器。它们需要按一个顺序排列。我想编写一个单元测试以确保它们始终处于所需的顺序。有没有办法访问所有全局过滤器或测试它?

0 投票
1 回答
11144 浏览

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,则没有条件为真/不记录任何内容。

0 投票
1 回答
262 浏览

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 添加两个条件

条件 全图

0 投票
0 回答
122 浏览

hibernate - 休眠全局过滤器未应用于 DML - 删除、更新查询

我正在尝试使用 Hibernate 的全局过滤器为单表多租户模型(所有租户的共享数据库)实现基于 DISCRIMINATOR 的多租户。

我知道全局过滤器没有应用于下面提到的 SQL 操作。

  1. 创造
  2. 更新
  3. 删除

它仅适用于基于 Criteria 的搜索,甚至不适用于Dao.findById(..) API。

全局过滤器仅适用于 SELECT 查询,而不适用于任何 DML 操作,这对吗?

如果是这样,那么只对一个操作使用 Hibernate Global 过滤器没有任何意义,那么 CREATE、UPDATE、DELETE 呢?

我有一个疑问,请帮助我。

0 投票
0 回答
1201 浏览

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不在页面级别被调用。

0 投票
0 回答
665 浏览

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 内部结构。我真的希望你能帮我解决这个问题:/