public JArray GetRankByAssetCount(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); //var addr = req.@params[0].ToString(); { string select = "select count(*) from asset where id='" + req.@params[0].ToString() + "'"; JsonPRCresponse res = new JsonPRCresponse(); MySqlCommand cmd = new MySqlCommand(select, conn); MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { var adata = (rdr["count(*)"]).ToString(); JArray bk = new JArray { new JObject { { "count", adata } } }; res.result = bk; } return(res.result); } } }
public JArray GetBlockHeight(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); var counter = req.@params[0].ToString(); string select = "select lastBlockindex from sys_counter where counter = @counter"; MySqlCommand cmd = new MySqlCommand(select, conn); cmd.Parameters.AddWithValue("@counter", counter); JsonPRCresponse res = new JsonPRCresponse(); MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { var adata = (rdr["lastBlockindex"]).ToString(); JArray bk = new JArray { new JObject { { "lastblockindex", adata } } }; res.result = bk; } return(res.result); } }
public JArray GetBlockCount(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); var id = req.@params[0].ToString(); string select = "select height from blockheight where @id = id"; MySqlCommand cmd = new MySqlCommand(select, conn); cmd.Parameters.AddWithValue("@id", id); JsonPRCresponse res = new JsonPRCresponse(); MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { var adata = (rdr["height"]).ToString(); JArray bk = new JArray { new JObject { { "height", adata } } }; res.result = bk; } return(res.result); } }
public JArray GetRankByAsset(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); { string select = "select id, amount , admin from asset where id='" + req.@params[0] + "'"; JsonPRCresponse res = new JsonPRCresponse(); MySqlCommand cmd = new MySqlCommand(select, conn); JArray bk = new JArray(); MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { var adata = (rdr["id"]).ToString(); var bl = (rdr["amount"]).ToString(); var ad = (rdr["admin"]).ToString(); bk.Add(new JObject { { "asset", adata }, { "balance", bl }, { "addr", ad } }); } return(res.result = bk); } } }
public JsonResult Get(string @jsonrpc, string @method, string @params, long @id) { JsonRPCrequest req = null; DateTime start = DateTime.Now; try { req = new JsonRPCrequest { jsonrpc = @jsonrpc, method = @method, @params = JsonConvert.DeserializeObject <object[]>(JsonConvert.SerializeObject(JArray.Parse(@params))), id = @id }; string ipAddr = Request.HttpContext.Connection.RemoteIpAddress.ToString(); var result = Json(api.getRes(req, ipAddr)); if (DateTime.Now.Subtract(start).TotalSeconds > logExeTimeMax) { log.Info(logHelper.logInfoFormat(req, result, start)); } return(result); } catch (Exception e) { JsonPRCresponse_Error resE = new JsonPRCresponse_Error(0, -100, "Parameter Error", e.Message); var result = Json(resE); log.Error(logHelper.logInfoFormat(req, result, start)); return(Json(result)); } }
public JArray GetAllAsset(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); string select = "select id , type , available , issuer from asset"; JsonPRCresponse res = new JsonPRCresponse(); MySqlCommand cmd = new MySqlCommand(select, conn); MySqlDataReader rdr = cmd.ExecuteReader(); JArray bk = new JArray(); while (rdr.Read()) { var adata = (rdr["id"]).ToString(); var tdata = (rdr["type"]).ToString(); var xdata = (rdr["available"]).ToString(); var pdata = (rdr["issuer"]).ToString(); bk.Add(new JObject { { "id", adata }, { "type", tdata }, { "available", xdata }, { "precision", pdata } }); } return(res.result = bk); } }
public JArray GetBlockCount(JsonRPCrequest req) // gets the last 1 in desc { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); string select = "select height from blockheight limit 1"; MySqlCommand cmd = new MySqlCommand(select, conn); JsonPRCresponse res = new JsonPRCresponse(); MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { var adata = (rdr["height"]).ToString(); JArray bk = new JArray { new JObject { { "height", adata } } }; res.result = bk; } return(res.result); } }
public JArray GetUTXO(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { JsonPRCresponse res = new JsonPRCresponse(); conn.Open(); var txid = req.@params[0].ToString(); string select = "select asset , value from utxo where txid = @txid"; MySqlCommand cmd = new MySqlCommand(select, conn); cmd.Parameters.AddWithValue("@txid", txid); MySqlDataReader rdr = cmd.ExecuteReader(); JArray bk = new JArray(); while (rdr.Read()) { var adata = (rdr["asset"]).ToString(); var vdata = (rdr["value"]).ToString(); bk.Add(new JObject { { "asset ", adata }, { "value ", vdata } }); } return(res.result = bk); } }
public JArray GetAddrs(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); string select = "select addr , firstdate , lastdate , firstuse , lastuse , txcount from address "; JsonPRCresponse res = new JsonPRCresponse(); MySqlCommand cmd = new MySqlCommand(select, conn); MySqlDataReader rdr = cmd.ExecuteReader(); JArray bk = new JArray(); while (rdr.Read()) { var adata = (rdr["addr"]).ToString(); var fdata = (rdr["firstdate"]).ToString(); var ldata = (rdr["lastdate"]).ToString(); var f = (rdr["firstuse"]).ToString(); var l = (rdr["lastuse"]).ToString(); var txcount = (rdr["txcount"]).ToString(); bk.Add(new JObject { { "addr", adata }, { "firstdate", fdata }, { "lastdate", ldata }, { "firstuse", f }, { "lastuse", l }, { "txcount", txcount } }); } return(res.result = bk); } }
public JArray GetNotify(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); var txid = req.@params[0].ToString(); string select = "select gasconsumed from notify where txid = @txid"; MySqlCommand cmd = new MySqlCommand(select, conn); cmd.Parameters.AddWithValue("@txid", txid); JsonPRCresponse res = new JsonPRCresponse(); MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { var adata = (rdr["gasconsumed"]).ToString(); JArray bk = new JArray { new JObject { { "gasconsumed", adata } } }; res.result = bk; } return(res.result); } }
public JArray GetRawTransactions(JsonRPCrequest req) // needs a sorting by txtype miner , reg or issue { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); string select = "select txid , type , blockindex , size from tx limit 20"; MySqlCommand cmd = new MySqlCommand(select, conn); JsonPRCresponse res = new JsonPRCresponse(); MySqlDataReader rdr = cmd.ExecuteReader(); JArray bk = new JArray(); while (rdr.Read()) { var adata = (rdr["txid"]).ToString(); var vdata = (rdr["type"]).ToString(); var bdata = (rdr["blockindex"]).ToString(); var sdata = (rdr["size"]).ToString(); bk.Add(new JObject { { "txid ", adata }, { "type ", vdata }, { "height ", bdata }, { "size ", sdata } }); } return(res.result = bk); } }
public JArray GetNep5TransferByTxid(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); var txid = req.@params[0].ToString(); string select = "select id , asset , from , to , value from nep5transfer where txid = @txid"; MySqlCommand cmd = new MySqlCommand(select, conn); cmd.Parameters.AddWithValue("@txid", txid); JsonPRCresponse res = new JsonPRCresponse(); MySqlDataReader rdr = cmd.ExecuteReader(); JArray bk = new JArray(); while (rdr.Read()) { var idata = (rdr["id"]).ToString(); var adata = (rdr["asset"]).ToString(); var fdata = (rdr["from"]).ToString(); var tdata = (rdr["to"]).ToString(); var vdata = (rdr["value"]).ToString(); bk.Add(new JObject { { "id", idata }, { "asset ", adata }, { "from", fdata }, { "to", tdata }, { "value", vdata } }); } return(res.result = bk); } }
public JArray GetAddrsTxs(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); var addr = req.@params[0].ToString(); string select = "select txid,addr from address_tx where @addr = addr "; JsonPRCresponse res = new JsonPRCresponse(); MySqlCommand cmd = new MySqlCommand(select, conn); cmd.Parameters.AddWithValue("@addr", addr); MySqlDataReader rdr = cmd.ExecuteReader(); JArray bk = new JArray(); while (rdr.Read()) { var adata = (rdr["txid"]).ToString(); var vdata = (rdr["addr"]).ToString(); bk.Add(new JObject { { "txid", adata }, { "addr", vdata } }); } return(res.result = bk); } }
public JArray GetAllNep5Assets(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); string select = "select assetid from nep5asset "; MySqlCommand cmd = new MySqlCommand(select, conn); JsonPRCresponse res = new JsonPRCresponse(); MySqlDataReader rdr = cmd.ExecuteReader(); JArray bk = new JArray(); while (rdr.Read()) { var adata = (rdr["assetid"]).ToString(); bk.Add(new JObject { { "assetid", adata } }); } return(res.result = bk); } }
public JArray GetAsset(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); var available = req.@params[0].ToString(); string select = "select id from asset where available = @available"; MySqlCommand cmd = new MySqlCommand(select, conn); cmd.Parameters.AddWithValue("@available", available); JsonPRCresponse res = new JsonPRCresponse(); MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { var adata = (rdr["id"]).ToString(); JArray bk = new JArray { new JObject { { "id", adata } } }; res.result = bk; } return(res.result); } }
public JArray GetBalance(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); var address = req.@params[0].ToString(); string select = "select address , balance from balance where address = @address"; JsonPRCresponse res = new JsonPRCresponse(); MySqlCommand cmd = new MySqlCommand(select, conn); cmd.Parameters.AddWithValue("@address", address); MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { var adata = (rdr["address"]).ToString(); var ldata = (rdr["balance"]).ToString(); JArray bk = new JArray { new JObject { { "address", adata } }, new JObject { { "addresss", ldata } } }; res.result = bk; } return(res.result); } }
public JArray GetNep5Asset(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); var assetid = req.@params[0].ToString(); string select = "select totalsupply , name , symbol , decimals from nep5asset where assetid = @assetid"; JsonPRCresponse res = new JsonPRCresponse(); MySqlCommand cmd = new MySqlCommand(select, conn); cmd.Parameters.AddWithValue("@assetid", assetid); MySqlDataReader rdr = cmd.ExecuteReader(); JArray bk = new JArray(); while (rdr.Read()) { var adata = (rdr["totalsupply"]).ToString(); var ndata = (rdr["name"]).ToString(); var sdata = (rdr["symbol"]).ToString(); var ddata = (rdr["decimals"]).ToString(); bk.Add(new JObject { { "totalsupply", adata }, { "name", ndata }, { "symbol", sdata }, { "decimals", ddata } }); } return(res.result = bk); } }
public JArray GetAddress(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); var addr = req.@params[0].ToString(); string select = "select firstuse , lastuse , txcount from address where addr = @addr"; JsonPRCresponse res = new JsonPRCresponse(); MySqlCommand cmd = new MySqlCommand(select, conn); cmd.Parameters.AddWithValue("@addr", addr); JArray bk = new JArray(); MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { var adata = (rdr["firstuse"]).ToString(); var ldata = (rdr["lastuse"]).ToString(); var tdata = (rdr["txcount"]).ToString(); bk.Add(new JObject { { "firstuse", adata }, { "lastuse", ldata }, { "txcount", tdata } }); } return(res.result = bk); } }
public JArray GetAddrCount(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); string select = "select count(*) from address"; JsonPRCresponse res = new JsonPRCresponse(); MySqlCommand cmd = new MySqlCommand(select, conn); MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { var adata = (rdr["count(*)"]).ToString(); JArray bk = new JArray { new JObject { { "addrcount", adata } } }; res.result = bk; } return(res.result); } }
public async Task <JsonResult> Post() { DateTime start = DateTime.Now; JsonResult res = null; JsonRPCrequest req = null; try { var ctype = HttpContext.Request.ContentType; LitServer.FormData form = null; if (ctype == "application/x-www-form-urlencoded" || (ctype.IndexOf("multipart/form-data;") == 0)) { form = await LitServer.FormData.FromRequest(HttpContext.Request); var _jsonrpc = form.mapParams["jsonrpc"]; var _id = long.Parse(form.mapParams["id"]); var _method = form.mapParams["method"]; var _strparams = form.mapParams["params"]; var _params = JArray.Parse(_strparams); req = new JsonRPCrequest { jsonrpc = _jsonrpc, method = _method, @params = JsonConvert.DeserializeObject <object[]>(JsonConvert.SerializeObject(_params)), id = _id }; } else// if (ctype == "application/json") 其他所有请求方式都这样取好了 { var text = await LitServer.FormData.GetStringFromRequest(HttpContext.Request); req = JsonConvert.DeserializeObject <JsonRPCrequest>(text); } string ipAddr = Request.HttpContext.Connection.RemoteIpAddress.ToString(); res = Json(api.getRes(req, ipAddr, this)); // 超时记录 if (DateTime.Now.Subtract(start).TotalSeconds > logExeTimeMax) { log.Info(LogHelper.logInfoFormat(req, res, start)); } } catch (Exception e) { Console.WriteLine("errMsg:{0},errStack:{1}", e.Message, e.StackTrace); JsonPRCresponse_Error resE = new JsonPRCresponse_Error(0, -100, "Parameter Error", e.Message); res = Json(resE); // 错误记录 log.Info(LogHelper.logInfoFormat(req, res, start)); } return(res); }
public JArray GetBlockTime(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { JsonPRCresponse res = new JsonPRCresponse(); conn.Open(); var hash = req.@params[0].ToString(); string select = "select size , version , previousblockhash , merkleroot , time , nonce , nextconsensus , script from block where hash = @hash"; MySqlCommand cmd = new MySqlCommand(select, conn); cmd.Parameters.AddWithValue("@hash", hash); MySqlDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { var sdata = (rdr["size"]).ToString(); var adata = (rdr["version"]).ToString(); var pdata = (rdr["previousblockhash"]).ToString(); var mdata = (rdr["merkleroot"]).ToString(); var tdata = (rdr["time"]).ToString(); var ndata = (rdr["nonce"]).ToString(); var nc = (rdr["nextconsensus"]).ToString(); JArray bk = new JArray { new JObject { { "size", sdata } }, new JObject { { "version", adata } }, new JObject { { "previoushash", pdata } }, new JObject { { "merkleroot", mdata } }, new JObject { { "time", tdata } }, new JObject { { "nonce", ndata } }, new JObject { { "nextconsensus", nc } } }; res.result = bk; } return(res.result); } }
public async Task <JsonResult> Post() { JsonRPCrequest req = null; DateTime start = DateTime.Now; try { var ctype = HttpContext.Request.ContentType; FormData form = null; if (ctype == "application/x-www-form-urlencoded" || (ctype.IndexOf("multipart/form-data;", StringComparison.CurrentCulture) == 0)) { form = await FormData.FromRequest(HttpContext.Request); var _jsonrpc = form.mapParams["jsonrpc"]; var _id = long.Parse(form.mapParams["id"]); var _method = form.mapParams["method"]; var _strparams = form.mapParams["params"]; var _params = JArray.Parse(_strparams); req = new JsonRPCrequest { jsonrpc = _jsonrpc, method = _method, @params = JsonConvert.DeserializeObject <object[]>(JsonConvert.SerializeObject(_params)), id = _id }; } else { var text = await FormData.GetStringFromRequest(HttpContext.Request); req = JsonConvert.DeserializeObject <JsonRPCrequest>(text); } string ipAddr = Request.HttpContext.Connection.RemoteIpAddress.ToString(); var result = Json(api.getRes(req, ipAddr)); if (DateTime.Now.Subtract(start).TotalSeconds > logExeTimeMax) { log.Info(LogHelper.logInfoFormat(req, result, start)); } return(result); } catch (Exception e) { JsonPRCresponse_Error resE = new JsonPRCresponse_Error(0, -100, "Parameter Error", e.Message); var result = Json(resE); log.Error(LogHelper.logInfoFormat(req, result, start)); return(Json(result)); } }
public JArray GetAddressTx(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); var addr = req.@params[0].ToString(); string select = "select a.txid,a.addr,a.blocktime,a.blockindex,b.type,b.vout,b.vin from address_tx as a , tx as b where @addr = addr and a.txid = b.txid limit " + req.@params[1]; JsonPRCresponse res = new JsonPRCresponse(); MySqlCommand cmd = new MySqlCommand(select, conn); cmd.Parameters.AddWithValue("@addr", addr); MySqlDataReader rdr = cmd.ExecuteReader(); JArray bk = new JArray(); while (rdr.Read()) { var adata = (rdr["txid"]).ToString(); var vdata = (rdr["addr"]).ToString(); var bt = (rdr["blocktime"]).ToString(); var bi = (rdr["blockindex"]).ToString(); var type = (rdr["type"]).ToString(); var vout = (rdr["vout"]).ToString(); var vin = (rdr["vin"]).ToString(); JObject t = new JObject() { { "$date", bt } }; JObject vo = new JObject() { { "$date", bt } }; bk.Add(new JObject { { "addr", vdata }, { "txid", adata }, { "blockindex", bi }, { "blocktime", t }, { "type", type }, { "vout", JArray.Parse(vout) }, { "vin", JArray.Parse(vin) } }); } JArray c = new JArray() { }; c.Add(new JObject { { "count", JToken.Parse("10") }, { "list", bk } }); return(res.result = c); } }
protected virtual JArray ProcessRes(JsonRPCrequest req) { JArray result = new JArray(); switch (req.method) { case "getnodetype": JArray JA = new JArray { new JObject { { "nodeType", netnode } } }; result = JA; break; } return(result); }
public JArray GetAllNep5Transfers(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { conn.Open(); string select = "select * from nep5transfer"; MySqlDataAdapter adapter = new MySqlDataAdapter(select, conf); DataSet ds = new DataSet(); adapter.Fill(ds); var data = ds.ToString(); var alldata = Newtonsoft.Json.Linq.JArray.Parse(data); JsonPRCresponse res = new JsonPRCresponse(); res.jsonrpc = req.jsonrpc; res.id = req.id; res.result = alldata; return(alldata); } }
public async Task <JsonResult> Post() { try { var ctype = HttpContext.Request.ContentType; LitServer.FormData form = null; JsonRPCrequest req = null; if (ctype == "application/x-www-form-urlencoded" || (ctype.IndexOf("multipart/form-data;") == 0)) { form = await LitServer.FormData.FromRequest(HttpContext.Request); var _jsonrpc = form.mapParams["jsonrpc"]; var _id = long.Parse(form.mapParams["id"]); var _method = form.mapParams["method"]; var _strparams = form.mapParams["params"]; var _params = JArray.Parse(_strparams); req = new JsonRPCrequest { jsonrpc = _jsonrpc, method = _method, @params = JsonConvert.DeserializeObject <object[]>(JsonConvert.SerializeObject(_params)), id = _id }; } else // if (ctype == "application/json") 其他所有请求方式都这样取好了 { var text = await LitServer.FormData.GetStringFromRequest(HttpContext.Request); req = JsonConvert.DeserializeObject <JsonRPCrequest>(text); } string ipAddr = Request.HttpContext.Connection.RemoteIpAddress.ToString(); return(Json(api.getRes(req, ipAddr))); } catch (Exception e) { JsonPRCresponse_Error resE = new JsonPRCresponse_Error(0, -100, "Parameter Error", e.Message); return(Json(resE)); } }
public async Task <JsonResult> GetAsync(string @jsonrpc, string @method, string @params, long @id) { JsonRPCrequest req = null; DateTime start = DateTime.Now; try { req = new JsonRPCrequest { jsonrpc = @jsonrpc, method = @method, @params = JsonConvert.DeserializeObject <object[]>(JsonConvert.SerializeObject(JArray.Parse(@params))), id = @id }; string ipAddr = Request.HttpContext.Connection.RemoteIpAddress.ToString(); //Console.WriteLine("start...."); //foreach (var aa in Request.Headers) //{ // Console.WriteLine("test:" + aa.Key + ":" + aa.Value); //} var json = await api.getResAsync(req, ipAddr); var result = Json(json); if (DateTime.Now.Subtract(start).TotalSeconds > logExeTimeMax) { log.Info(logHelper.logInfoFormat(req, result, start)); } return(result); } catch (Exception e) { JsonPRCresponse_Error resE = new JsonPRCresponse_Error(0, -100, "Parameter Error", e.Message); var result = Json(resE); log.Error(logHelper.logInfoFormat(req, result, start)); return(Json(result)); } }
public JsonResult Get(string @jsonrpc, string @method, string @params, long @id) { try { JsonRPCrequest req = new JsonRPCrequest { jsonrpc = @jsonrpc, method = @method, @params = JsonConvert.DeserializeObject <object[]>(JsonConvert.SerializeObject(JArray.Parse(@params))), id = @id }; string ipAddr = Request.HttpContext.Connection.RemoteIpAddress.ToString(); return(Json(api.getRes(req, ipAddr))); } catch (Exception e) { JsonPRCresponse_Error resE = new JsonPRCresponse_Error(0, -100, "Parameter Error", e.Message); return(Json(resE)); } }
public JArray GetBlocks(JsonRPCrequest req) { using (MySqlConnection conn = new MySqlConnection(conf)) { JsonPRCresponse res = new JsonPRCresponse(); conn.Open(); string select = "select size , version , previousblockhash , merkleroot , time , nonce , nextconsensus , script from block limit 10"; MySqlCommand cmd = new MySqlCommand(select, conn); MySqlDataReader rdr = cmd.ExecuteReader(); JArray bk = new JArray(); while (rdr.Read()) { var sdata = (rdr["size"]).ToString(); var adata = (rdr["version"]).ToString(); var pdata = (rdr["previousblockhash"]).ToString(); var mdata = (rdr["merkleroot"]).ToString(); var tdata = (rdr["time"]).ToString(); var ndata = (rdr["nonce"]).ToString(); var nc = (rdr["nextconsensus"]).ToString(); var s = (rdr["script"]).ToString(); bk.Add(new JObject { { "size", sdata }, { "version", adata }, { "previousblockhash", pdata }, { "merkleroot", mdata }, { "time", tdata }, { "nonce", ndata }, { "nextconsensus", nc }, { "script", s } }); } return(res.result = bk); } }
public JsonResult Get(string @jsonrpc, string @method, string @params, long @id) { DateTime start = DateTime.Now; JsonResult res = null; JsonRPCrequest req = null; try { req = new JsonRPCrequest { jsonrpc = @jsonrpc, method = @method, @params = JsonConvert.DeserializeObject <object[]>(JsonConvert.SerializeObject(JArray.Parse(@params))), id = @id }; string ipAddr = Request.HttpContext.Connection.RemoteIpAddress.ToString(); res = Json(api.getRes(req, ipAddr, this)); // 超时记录 if (DateTime.Now.Subtract(start).TotalSeconds > logExeTimeMax) { log.Info(LogHelper.logInfoFormat(req, res, start)); } } catch (Exception e) { Console.WriteLine("errMsg:{0},errStack:{1}", e.Message, e.StackTrace); JsonPRCresponse_Error resE = new JsonPRCresponse_Error(0, -100, "Parameter Error", e.Message); res = Json(resE); // 错误记录 log.Info(LogHelper.logInfoFormat(req, res, start)); } return(res); }