Joa*_*mer 4 c# inversion-of-control unity-container
我正在处理一个问题,我有很多iterfaces和他们的实现都是统一创建的.这些类包含一些在常规基础上抛出异常的方法,我想围绕这些类创建动态代理,这样我就可以捕获方法中出现的所有异常,并在其他地方处理它们.
当我在玩Unity时,我想知道是否可以使用Unity Interception完成这样的事情.
即创建一个TransparentProxyInterceptor并围绕这些方法的invocatino包装一个try-catch块.这是可能的,还是我走向了错误的方向?谢谢
是的,Unity拦截(AOP)是处理异常处理的绝佳方法.您可以添加各种行为,例如:
您的呼叫处理程序将类似于:
public override IMethodReturn Invoke(IMethodInvocation input, GetNextHandlerDelegate getNext)
{
IMethodReturn result = getNext()(input, getNext);
if (result.Exception != null)
{
// do something
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4282 次 |
| 最近记录: |