AOP拦截+权限验证+返回默认接口对象

接口如:
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);
    }

  

 

你可能感兴趣的:(AOP)