问题标签 [interceptor]

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 投票
2 回答
1974 浏览

nhibernate - NHibernate:拦截器返回值的含义

我认为这是一个简单的问题,但我的谷歌搜索对此很薄弱。

关于生成的 ID 和级联,我遇到了以下链接中描述的问题:

https://www.hibernate.org/hib_docs/nhibernate/html/example-parentchild.html(朝向底部)

我使用他们建议的拦截器方法修复了它。一切似乎都在工作,所以我很高兴。

也就是说,我不知道返回值的意义是什么,例如:

在这两种情况下都返回 false。

当我在谷歌上搜索 NHibernate 拦截器时,我看到了很多关于如何编写拦截器的示例。有些反而返回 true ( http://www.lostechies.com/blogs/rhouston/archive/2008/03/27/creating-a-timestamp-interceptor-in-nhibernate.aspx )。我不知道这里有什么区别。我的代码正在运行,但拦截器对我来说似乎很有用,所以我想更好地理解。

0 投票
2 回答
4999 浏览

nhibernate - NHibernate:拦截器和监听器的区别

查看 NHibernate 中创建/更新列的所有可能性,我主要(Stackoverflow 问题Ayende Rahien)查看 Listeners 的解决方案。

在我公司编写这个程序的程序员使用拦截器来实现同样的事情。

这两种解决方案有什么区别吗?(其中之一是否已过时,是否首选其中之一,有哪些优点和/或缺点)

0 投票
2 回答
3797 浏览

nhibernate - NHibernate 拦截器审计插入的对象 ID

我正在使用 NHibernate 拦截器将有关更新/插入/删除的信息记录到我的各种实体中。

记录的信息中包括实体类型和已修改实体的唯一 ID。<generator class="identity">唯一 ID在 NHibernate 映射文件中标记为 a 。

明显的问题是当使用 IInterceptor.OnSave() 记录插入操作时,尚未分配实体的 ID。

如何在记录审计信息之前获取插入实体的 ID?

(我已经查看了 NHibernate Listeners PostSave 事件,但无法让它们与正在使用的 Spring.net 配置一起工作,所以如果可能的话,我想坚持使用拦截器)

代码:

0 投票
1 回答
2242 浏览

dependency-injection - StructureMap 拦截器

我有一堆实现各种接口的服务。例如,IAlbumServiceIMediaService

我想记录对这些接口上每个方法的调用。如何使用 StructureMap 执行此操作?

我意识到这与这个问题几乎相同,只是我没有使用温莎。

0 投票
1 回答
3264 浏览

hibernate - 如何使用 iBATIS 实现审计拦截器?

我想记录数据库中的所有更改以进行审计,使用名为 AuditEvent 的表存储修改后的行 ID(主键)、表名、列名、先前值、新值、更改日期(时间戳)、操作类型(插入/更新/删除)和进行更改的用户的名称。

我正在使用 SQL Server 2005,但我不想使用触发器,因为由于我使用连接池,因此很难找到当前用户。

基于 Interceptor 的 Hibernate 解决方案非常简单。使用 iBATIS / iBATOR 时如何做类似的事情?

0 投票
2 回答
6634 浏览

java - 我可以将 SessionBean 注入 Java EE AroundInvoke-Interceptor 吗?

我有一个带模块的 EAR:

  • foo-api.jar
  • foo-impl.jar
  • 拦截器.jar

在 foo-api 中有:

在 foo-impl 中有:

在interceptor.jar 我想要

问题是:

兼容 Java EE 5 的应用服务器(例如 JBoss 5)会注入拦截器吗?如果不是,那么访问会话 bean 的好策略是什么?

考虑:

  • 部署顺序/竞争条件
0 投票
2 回答
544 浏览

java - 如何在 struts2 拦截器中获取 struts.action.extension 的值?

我需要从拦截器访问 struts.xml 文件中的 struts.action.extension 值。有什么建议么?

0 投票
1 回答
1695 浏览

java - 为什么拦截器的 onLoad() 不起作用?

我们有一个基于 jboss 的系统

persistance.xml 如下所示:

拦截器代码:

其中 AuditInterceptor 扩展了原生休眠的 EmptyInterceptor 并重载了一些方法,如 onSave()、onFlush()、onPreFlush()

AuditAndDeletableCatcherInterceptor 的某些方法可以工作,但永远不会调用 onLoad()。我究竟做错了什么?

0 投票
2 回答
5301 浏览

c# - NHibernate 会话管理和延迟加载

我有一段时间试图找出我在 NHibernate 中的会话管理问题。我假设我的很多麻烦是由于缺乏对 IoC 和 AOP 概念的了解;至少我是这么想的,法比奥·毛洛一直在指导我。

无论如何,我的问题是我有一个 win 表单应用程序,它正在进行“get”调用并将结果绑定到网格。绑定后,用户可能会执行某种“写入”操作,这些操作会导致会话在写入后关闭,以尝试使用会话每次使用的概念。然后用户可以滚动浏览导致延迟加载启动的网格,现在会话已经关闭,我得到一个异常。

我不想让我的视图认识到我的会话,我不想在用户关闭表单时发送 KillAllSessions。此外,用户可能在任何给定时间打开多个表单,这进一步加剧了与该方法相关的问题。我基本上希望所有这些都在“幕后”工作。

所以到目前为止我的想法是拦截延迟加载调用并检查会话是否打开,如果没有重新打开它,获取信息然后重新关闭它。但是,据我所知,这并不多,这基本上就是延迟加载的工作原理。它被代理工厂 (NHibernate.Bytecode.Castle) 拦截,然后使用会话检索数据。所以我需要实际拦截该调用,然后在重新打开会话后将其传递给最初的预期拦截。这就是我的想法。

我的问题基本上首先是这甚至是正确的方法吗?其次,如果是我什至不知道从哪里开始。我从来没有做过任何方法调用的拦截,我在理论上知道但在实践中不知道。我知道有一些图书馆可以做这种事情,比如 Rhino Commons,但我想借此机会学习并成为一名更好的程序员。我正在尝试理解 AOP 和上下文绑定对象,但目前我并没有理解它。你们中的一些人可以帮助一个人吗?

0 投票
1 回答
7341 浏览

asp.net-mvc - asp.net mvc 和 recaptcha 操作

当用户提交表单时,我想间歇性地显示/重定向到验证码页面(基于一些自定义规则),如果经过验证,则执行/提交第一个操作

有没有办法使用 ActionFilter 做到这一点?或任何其他方式?