public class MyHandler : ICallHandler
{
   
public int Order { get; set; }// 这是ICallHandler的成员,表示执行顺序  
    public IMethodReturn Invoke(IMethodInvocation input, GetNextHandlerDelegate getNext)
    {
       
//这之前插入方法执行前的处理 
        Console.WriteLine("执行前");
        IMethodReturn retvalue
= null;
       
try
        {
            retvalue
= getNext()(input, getNext);// 在这里执行方法 
        }
       
catch (Exception ex)
        {
            Console.WriteLine(
"ExMsg:" + ex.Message); // 处理异常,例如写日志之类的。
        }
       
//这之后插入方法执行后的处理 
        Console.WriteLine("完成");
       
return retvalue;
    }
}

相关文章: