问题标签 [interception]
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.
javascript - 包装函数和function.length
让我们考虑一下我有以下代码
我刚刚丢失了.length
数据,_fun
因为我试图用一些拦截逻辑来包装它。
以下不起作用
带注释的ES5.1 规范声明如下.length
定义
鉴于里面的逻辑fun
要求.length
准确,如何在不破坏.length
数据的情况下拦截和覆盖这个函数?
我有一种感觉,我需要使用eval
狡猾Function.prototype.toString
的方法来构造一个具有相同数量参数的新字符串。我想避免这种情况。
javascript - 如何拦截javascript中的innerHTML更改?
我需要拦截网页内单元格内容的任何更改。
以下代码显示 addEventListener 不起作用。
该代码只是一个玩具示例。在我的真实案例中,页面(以及单元格中)的更改是由我无法控制的 web 应用程序进行的。
php - 如何虚拟化配置文件
我有一个用 Ion Cube 加密的 PHP 脚本。由于我不想违反许可证,因此我无法修改脚本中的任何内容。该脚本调用基于 XML 的配置文件。我想创建一个数据库来存储配置数据,然后根据发出请求的引用 URL 将其提供给加密脚本。基本上,我想“虚拟化”配置 XML 文件,这样我就可以根据引用 URL 向加密脚本提供我想要的数据。
有任何想法吗?
java - Java - 使用注释和拦截方法?
有没有一种简单的方法来拦截java中的方法。我需要为所需的方法添加注释,以便在通过该方法之前调用一段逻辑。
编辑:
安卓应用推荐的 guice 库不包含 AOP。是否可以在不添加任何库的情况下使用反射来实现这一点?
c++ - 发送带有拦截的按键
我已经尝试了所有伪造键盘操作的常规方法(SendInput/SendKeys/etc),但它们似乎都不适用于使用 DirectInput 的游戏。经过大量阅读和搜索后,我偶然发现了Interception,这是一个 C++ 库,可让您连接到您的设备。
自从我使用 C++(C# 不存在)以来已经有很长时间了,所以我遇到了一些麻烦。我已经粘贴了下面的示例代码。
看起来无论如何都会使用此代码从代码中启动关键操作?这些示例都只是连接到设备并重写操作(x 键打印 y、反转鼠标轴等)。
我注释掉的代码是我试过的,但没有用。
c# - MEF组合和导入选择中的拦截
每个人
问题是如果存在两个具有相同导出签名但只需要导入一个的导出组件(这是可能的,实际示例是安装新插件替换旧插件而不卸载旧插件。)。我们可以提供一个配置文件来告诉应该导入哪个组件,但问题是如何告诉 MEF 正确的选择?
我有三种方法:
使用自定义目录,过滤可用插件。但是假设 A 导入组件 A 和 B 导入组件 B 而组件 A 和 B 具有相同的导出签名的情况。除非我们为每个组件创建新的自定义目录,否则自定义目录无法处理此问题。
拦截 MEF 组合。我不确定这是否可能,我不知道如何。但是如果有办法让我们在合成过程中进行拦截,这可能是最好的。
使用导入包装器而不是真实接口。组件在构建时,会初始化包装器,让包装器处理选择逻辑(比如提示一个窗口,让用户选择一个或读取配置)
aop - 如何在 Spring.NET 中使用 DefaultAdvisorAutoProxyCreator 定义线程范围的对象
我想使用 DefaultAdvisorAutoProxyCreator 创建一个线程本地对象(带有拦截器)。我知道如何使用 ProxyFactoryObject 做到这一点:
但是,我不知道如何使用 DefaultAdvisorAopCreator 获得相同的效果。这是我尝试过的(但没有用):
ThreadLocalTargetSourceCreator 是一个自定义类,它无条件返回一个 ThreadLocalTargetSource 实例:
因此,总而言之,当我使用第一个配置(使用 ProxyFactoryObject)从 Spring.NET 请求 ServiceCommand 时,每个线程只获得一个对象实例(正确的行为)。但是,使用第二个配置(DefaultAdvisorAutoProxyCreator),我每次都会得到一个新实例(不正确的行为;期望每个线程一个实例)。
有什么想法吗?
wcf - 在 Unity Container 中注册 WCF 服务
我有一个托管在 Windows 服务中的 wcf 服务库。我需要拦截对服务方法的调用。对于这种情况,建议将 WCF 注册到 Unity 容器中,如此链接所示
http://weblogs.asp.net/fabio/archive/2009/03/24/inversion-of-control-with-wcf-and-unity.aspx
我正在尝试通过来自 Codeplex 的 Unity.WCF 程序集实现类似的方法。我无法理解将容器配置或引导程序放在 wcf 服务库(或 Windows 服务)中的什么位置。没有提供固体样品(相对于溶液)。
我的 Windows 服务主机
我的服务合同
在这种情况下,拦截器似乎不起作用。简而言之,我需要的是一个示例项目,其中 WCF 服务注册到 DI 容器并拦截了服务方法。
aop - Autofac + Castle DynamicProxy:拦截器的顺序
我正在使用带有 Autofac 的 Castle DynamicProxy。我有一个对象,我为其创建了一个代理,并且我有两个作用于代理的拦截器,一个用于记录异常,第二个用于更改方法的返回值。注册码如下所示:
通过按此顺序提供参数,我发现我得到了我想要的结果,即记录了异常并处理了结果。如果我颠倒参数的顺序,则不会发生日志记录。
那么我的问题是:以这种方式注册,拦截器是否保证每次都以相同的顺序执行?或者有没有更好的方法来确保订单每次都是我想要的?
FWIW,我查看了 IInterceptorSelector 接口。也许我遗漏了一些东西——这并非不可能——但在这种情况下看起来这并不相关。但如果我错了,我很乐意得到纠正。
如有必要,我可以提供更长的代码示例。
音乐学人
c# - 当使用带有名称的 Unity RegisterType 时,拦截器不起作用
当我用名称解析我的类型时,拦截不起作用。但是当我删除名称时,它会再次起作用。我的代码有什么问题?