【发布时间】:2014-04-10 08:14:36
【问题描述】:
目前我正在尝试开发一个解决方案,该解决方案将检查一个方法是否已被执行,以及自上次执行以来是否已经过了一段时间,鉴于它是并且时间已经过去,我想从 OnEntry 跳过方法到 OnExit,而无需从方法本身实际执行任何代码。
种类:
public class CacheThisMethod : OnMethodBoundaryAspect
{
public override void OnEntry(MethodExecutionArgs args)
{
if (isCached( args.Method.name)
{
args.MethodExecutionTag = getReturnValue(args.Method.name)
//jump to OnExit
}
else
{
//continue
}
}
public override void OnExit(MethodExecutionArgs args)
{
args.Method.ReturnValue = args.MethodExecutionTag;
}
}
我怎样才能做到这一点?谢谢。
【问题讨论】:
-
您确定不想将参数用作缓存中的键?
-
我假设你知道你需要在 isCached 方法中做什么。