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

0 投票
2 回答
3514 浏览

unity-container - Unity Container:围绕每个方法调用创建子容器

我们可以使用 Unity 拦截/扩展/自定义代理来执行此操作吗?

目前,上述代码是作为 WCF 行为实现的。我们现在有直接访问此服务层的类,而不是进行 WCF 调用并需要此行为。有趣的部分是我们需要在统一拦截中创建一个子容器。

0 投票
0 回答
1368 浏览

c# - unity Interception: 对带有事件的接口进行接口拦截

我正在尝试使用统一拦截来拦截异常。我定义了一个接口和一个实现该接口的类。

我正在尝试使用 InterfaceInterception,但 Unity 抛出了一个类型不可拦截的异常。我检查了我的类,与成功拦截的其他类的唯一区别是这个类和接口声明了一些事件。如果我使用 VirtualMethodInterception,Unity 不会抛出异常。

我正在使用 C#

为什么 VirtualMethodInterceptor 工作,为什么 InterfaceInterceptor 不工作?

以下是实际代码的简化。

统一配置是

异常详情如下

例外是:ArgumentException - ClassToBeInterceptable 类型不可拦截。参数名称:interceptedType

编辑 :-

该类被指定为另一个类的依赖项,并且在构建另一个依赖于“另一个”类(或者更准确地说,“另一个”类的接口)的类的过程中抛出了上述异常。

0 投票
1 回答
3597 浏览

c# - 基于 snmptrad 示例的 SharpSNMP 实现停止工作

我正在做一个基于 Sharp-SNMP 库 (snmptrapd) 中包含的示例的应用程序原型,以从 SNMP 协议获取一些数据,但完全停止工作,由于某种未知原因停止工作但不抛出任何异常,编译并执行好。

问题在于事件从未发生过。

依赖:

  • 来自 Microsoft 的 Unity 容器
  • SharpSNMP 库
  • SourceGrid (Windows.Forms)

我不得不指出,直到 2 天前,它的工作就像一个魅力,但现在,我的想法已经不多了。(而且我没有在我的代码中修改一些激进的东西)。

C# 代码

应用程序配置

0 投票
1 回答
91 浏览

c# - vb.net中的统一拦截自动配置

我正在尝试在 vb.net 中进行拦截,因为我的工作只允许这样做。我以前从未遇到过具有这种 If.something 语法的 lambda。

这在 vb.net 中看起来如何?如果我将来需要谷歌这个语法,这个语法叫什么?

0 投票
1 回答
237 浏览

c#-to-vb.net - 在 VB.NET 中使用 Unity AutoConfig 配置拦截

我正在尝试在 vb.net 中进行拦截,因为我的工作只允许这样做。我使用它的方式是配置一些记录器,以便拦截运行的每个业务逻辑功能并将其记录到数据库中(坏主意,但这只是一个示例)。这是我发现的一个例子:

这是我试图在 vb.net 中工作的内容,但它一直抛出错误。

错误是:

现在显然我需要指定一些类型,但重点是我需要自动注册,那为什么我需要提供一个类型呢?此外,C# 代码不需要它,代码示例也不需要它(见下文)。

http://autoregistration.codeplex.com/

0 投票
2 回答
4397 浏览

c# - Unity ICallHandler 与 IInterceptionBehavior

似乎 Unity 提供了 2 种不同的途径来实现 AoP 功能。

问题是为什么?有什么区别?每种方法的优缺点是什么?

例如使用 ICallHandler:

但是也可以使用 IInterceptionBehavior 代替 ICallHandler 来实现类似的功能

还有一个混合的地方可以让你设置拦截但使用调用处理程序,例如。

那么使用哪一个呢?为什么在单个框架中存在看似多余的解决方案?

0 投票
2 回答
657 浏览

c# - 团结+拦截+假货=大火球

我无法让 Unity 与新的 Fakes 框架(以前的 pex 和 moles)配合得很好

当我尝试创建统一拦截库的伪造品时,它导致我的单元测试在调试时运行良好,但会中断

InvalidProgramException - 公共语言运行时检测到无效程序。

问题是为什么?为什么调试与发布的行为不同?单元测试在调试时通过,但在我选择运行它时会因上述异常而中断。

0 投票
1 回答
588 浏览

unity-container - Microsoft Unity 基类拦截

我有一个应用程序,它有一个基类和派生类,每个实现类都有自己的接口。我想使用 Unity 的拦截对基类的派生类型进行异常处理。

我是拦截新手,所以我不知道所有的怪癖。据我所知,我必须在每个实现解析中注册拦截。关键是我所有的实现都有一个基类,所以我认为我可以跳过冗余并仅在基类上设置拦截,这将在每个实现类上触发。

这是我的设置:

这工作正常,但我想有这样的东西TestUnityContainer

我将有更多从基础服务继承的服务类,我认为这会为我节省很多时间,因为它们都有相同的拦截行为。

这在 Unity 中是否可行?如何实现?如果需要对模型进行一些小的修正,我愿意接受,只要它们是次要的。

0 投票
1 回答
397 浏览

dependency-injection - Unity 拦截和带有循环引用的类

我的富域模型有一些循环引用,这是有意的。

我还在编写自己的 ORM 以获得更多控制,并检测对属性所做的更改,我使用 Unity 拦截对设置器的任何调用并触发属性更改通知(类似于 EF 的工作方式)。

问题是我得到了堆栈溢出,因为策略拦截一遍又一遍地遍历同一个对象。有没有办法让它做引用计数?

我已经确保构造函数不是循环依赖的,但我仍然需要策略注入来停止重复递归相同的对象。

0 投票
1 回答
270 浏览

c# - 如何在订购后跟踪方法调用?

我想按照顺序跟踪方法调用。因为日志记录将应用于生产,所以我不想修改我的代码这么多。

到目前为止,我想在 Unity 上应用一个拦截器来跟踪方法调用,我几乎完成了。但是,打印出来的日志不是我所期望的。我需要的只是:

从 peusedo 代码如下:

跟踪日志的格式应如下:

进入方法调用 1/进入方法调用 2

离开方法调用 2 / 离开方法调用 1

顺便说一句,我的应用程序在 .Net 框架版本 4 上运行。

程序如下:

对不起我的代码。它很长。