/// <summary> /// 权限验证 /// </summary> /// <param name="service"></param> /// <param name="action"></param> /// <param name="appId"></param> /// <returns></returns> private bool Authorize(ServiceContextData serviceContext, string appId) { return(true); }
public object Invoke(object instance, object[] inputs, out object[] outputs) { //SyncMethodInvoker methodType = m_InnerInvoker as SyncMethodInvoker; //trace args serviceContext = ServiceContextData.GetContextData(); WcfTracerData preInvokerTracer = new WcfTracerData(); preInvokerTracer.ContextData = serviceContext; preInvokerTracer.Arguments = ArgumentsInfo(inputs); preInvokerTracer.AppendToLog(); //PreInvoke(instance, inputs); object returnedValue = null; object[] outputParams = new object[] { }; Exception exception = null; try { returnedValue = m_InnerInvoker.Invoke(instance, inputs, out outputParams); outputs = outputParams; return(returnedValue); } catch (Exception operationException) { outputs = outputParams; exception = operationException; if (InvokerMethodInfo.ReturnType.GetInterface(responseType.FullName, false) != null) { IResponse response = Activator.CreateInstance(InvokerMethodInfo.ReturnType) as IResponse; if (response != null) { response.Code = ResponseCode.Exception; } returnedValue = response; outputs = outputParams; return(returnedValue); } else { throw; } } finally { PostInvoke(instance, returnedValue, outputParams, exception); //trace result WcfTracerData postInvokerTracer = new WcfTracerData(); postInvokerTracer.ContextData = serviceContext; postInvokerTracer.Arguments = ArgumentsInfo(outputParams); if (exception != null) { postInvokerTracer.Exception = exception.ToString(); } if (returnedValue != null) { postInvokerTracer.ReturnedValue = returnedValue.ToString(); } //IResponse r = returnedValue as IResponse; //if (r != null) //{ // if (r.Code != ResponseCode.Ok) // { // Debug.Write(r.Code); // } //} postInvokerTracer.AppendToLog(); } }