public override void Execute(IRuleContext context){ //@"context".contract_NotNull(context); lock (execLock){ Logger.Rule.Debug("START EXEC {0}", Uid); var result = false; var proceed = preExecute(context); if (proceed){ context.addExec(this); innerExecute(context); } postExecute(context, result); Logger.Rule.Debug("END EXEC {0}", Uid); } }