博客园站长
这是人类成长进步中记录的每一时刻
接口如:
public IList<string> TestAOP(string token);


public IMethodReturn Invoke(IMethodInvocation input, GetNextInterceptionBehaviorDelegate getNext) { /*验证token的账户是否已登陆 *2014年11月12日 14:01:32 */ if (input.Arguments.ContainsParameter("token")) { var tokenValue = input.Arguments["token"].ToString(); //存在token值则验证(目前还存在前端未传情况 空值token 跳过) if (!string.IsNullOrWhiteSpace(tokenValue)) { if (!ExistsUserLogin(tokenValue).IsLogin) { IMethodReturn mr = new VirtualMethodReturn(input, null); //创建返回对象 var methodInfo = input.MethodBase as MethodInfo; mr.ReturnValue = Activator.CreateInstance(methodInfo.ReturnType); //获取当前接口的返回类型并得到初始化实例填充到 返回对象里 return mr; } } }

        return getNext().Invoke(input, getNext);
    }

  

 

posted on 2014-11-12 14:12  dm3344  阅读(761)  评论(0编辑  收藏  举报