//获取参数信息。 private string getExecParamsInfo(System.Runtime.Remoting.Messaging.IMethodCallMessage cellmsg) { if (cellmsg.ArgCount == 0) { return("()"); } object[] pars = cellmsg.Args; int count = pars.Length; string msg = "("; for (int i = 0; i < count; i++) { string parName = cellmsg.GetArgName(i); msg += parName + "="; if (pars[i] == null) { msg += "null"; } else { //截取过长的参数值 (在方法调用中,日记记录参数只是一个参考) string temp = pars[i].ToString(); if (temp.Length > MB.BaseFrame.SOD.LOG_PARAMTER_VALUE_MAX_LENGTH) { temp = temp.Substring(0, MB.BaseFrame.SOD.LOG_PARAMTER_VALUE_MAX_LENGTH) + "......"; } msg += temp; } msg += ","; } msg = msg.Remove(msg.Length - 1, 1); msg += ")"; return(msg); }
//获取参数信息。 private string getExecParamsInfo(System.Runtime.Remoting.Messaging.IMethodCallMessage cellmsg) { if (cellmsg.ArgCount == 0) { return("()"); } object[] pars = cellmsg.Args; int count = pars.Length; string msg = "("; for (int i = 0; i < count; i++) { string parName = cellmsg.GetArgName(i); msg += parName + "="; if (pars[i] == null) { msg += "null"; } else { msg += pars[i].ToString(); } msg += ","; } msg = msg.Remove(msg.Length - 1, 1); msg += ")"; return(msg); }
//方法开始执行. private DateTime beginExecuting(string methodName, System.Runtime.Remoting.Messaging.IMethodCallMessage cellmsg) { DateTime startTime = System.DateTime.Now; string msg = "调用方法:" + methodName; msg += getExecParamsInfo(cellmsg) + " " + startTime.ToLongTimeString() + " " + startTime.Millisecond.ToString(); //Console.WriteLine(); MB.Util.TraceEx.Write(msg); return(startTime); }
private void Proxy_ErrorExecuting(object sender, System.Runtime.Remoting.Messaging.IMethodCallMessage e, object innerException) { _EndTime = DateTime.Now; //Log(e.MethodName, e.Args); string[] parameters = new string[] { //"Executed Method -> "+e.MethodName, "Exception Message -> " + innerException.ToString(), "Start DateTime -> " + _StartTime, "End DateTime -> " + _EndTime, "Used Time -> " + (_EndTime - _StartTime).Seconds.ToString(), "------------------------------------------------------------------" }; Log(parameters); }
private void Proxy_BeforeExecute(object sender, System.Runtime.Remoting.Messaging.IMethodCallMessage e, object returnValue) { _StartTime = DateTime.Now; int index = 0; StringBuilder args = new StringBuilder(); foreach (object arg in e.Args) { args.Append(e.GetInArgName(index++)); args.Append(" : "); args.Append(arg + ","); } string[] parameters = new string[] { "Execute Method Name -> " + e.MethodName, "Passed Parameters -> " + args.ToString() }; Log(parameters); }
private void Proxy_AfterExecute(object sender, System.Runtime.Remoting.Messaging.IMethodCallMessage e, object returnValue) { _EndTime = DateTime.Now; string[] parameters = new string[5]; if (returnValue != null) { if (!returnValue.GetType().IsGenericType) { parameters = new string[] { "Returned Value -> " + returnValue.ToString(), "Start DateTime -> " + _StartTime, "End DateTime -> " + _EndTime, "Used Time -> " + (_EndTime - _StartTime).TotalMilliseconds.ToString(), "------------------------------------------------------------------" }; } else { // int index = 0; // StringBuilder args = new StringBuilder(); // foreach (string arg in returnValue.GetType().) // { // args.Append(e.GetInArgName(index++)); // args.Append(" : "); // args.Append(arg + ","); // } // File.AppendAllLines("Log.txt", new string[] { //"Execute DateTime : "+DateTime.Now, //e.MethodName, args.ToString() }); } } else { parameters = new string[] { "Start DateTime -> " + _StartTime, "End DateTime -> " + _EndTime, "Used Time -> " + (_EndTime - _StartTime).TotalMilliseconds.ToString(), "------------------------------------------------------------------" }; } Log(parameters); }
/// <summary> /// 方法调用之前。 /// </summary> /// <param name="msg"></param> public void BeginProcess(System.Runtime.Remoting.Messaging.IMessage msg) { System.Runtime.Remoting.Messaging.IMethodCallMessage callMsg = msg as System.Runtime.Remoting.Messaging.IMethodCallMessage; beginExecuting(callMsg.MethodName, callMsg); }
public static System.Runtime.Remoting.Messaging.IMethodReturnMessage ExecuteMessage(MarshalByRefObject target, System.Runtime.Remoting.Messaging.IMethodCallMessage reqMsg) { Contract.Requires(target != null); return(default(System.Runtime.Remoting.Messaging.IMethodReturnMessage)); }
public object UnsafeDeserializeMethodResponse(System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) { }
public Object UnsafeDeserializeMethodResponse(Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) { Contract.Ensures(false); return(default(Object)); }
public QEvent(System.Runtime.Remoting.Messaging.IMethodCallMessage msg) { Init(null, msg.MethodName); m_QData = msg; }
public static System.Runtime.Remoting.Messaging.IMethodReturnMessage ExecuteMessage(System.MarshalByRefObject target, System.Runtime.Remoting.Messaging.IMethodCallMessage reqMsg) { }