private object[] MakeInvokeParameters(MethodInfo mi, HttpListenerRequest Request, HttpListenerResponse Response) { List <object> ps = new List <object>(); ps.Add(SerializeEngine.Deserialize(Request.InputStream)); var prams = Request.GetParameters(); foreach (var p in mi.GetParameters()) { if (prams[p.Name] != null) { ps.Add(DataConverter.ChangeType(prams[p.Name], p.ParameterType)); } else { ps.Add(p.RawDefaultValue == DBNull.Value ? null : p.RawDefaultValue); } } ; return(ps.ToArray()); }