批量发多次quickquery
来源:互联网 发布:linux pytorch安装教程 编辑:程序博客网 时间:2024/06/07 03:39
这个有助于增加性能,把前端的放后端执行
后端:
public stringBatchQueryPage() { Stream reqStream =Request.InputStream; byte[] buffer = new byte[(int)reqStream.Length]; reqStream.Read(buffer, 0, (int) reqStream.Length); string str =System.Text.Encoding.ASCII.GetString(buffer); JArray obj = (JArray) JsonConvert.DeserializeObject(str); Dictionary<int, IDictionary<string, string>> request= new Dictionary<int, IDictionary<string, string>>(); foreach (JObject items in obj) { var index =obj.IndexOf(items); request.Add(index, new Dictionary<string, string>()); foreach (var item in items) { request[index].Add(item.Key,item.Value.ToString()); } } string[] result = new string[request.Count]; for (int index = 0;index < request.Count; index++) { result[index]=ObjectContainer.Instance.GetObject<IJsonSerializer>() .ToJson(ObjectContainer.Instance.GetObject<IQuickQueryWebService>().Query(request[index])); } var res=""; for (int index = 0;index < result.Count(); index++) { if (index == 0) res = "{"; res =res+ "\""+ request[index]["queryId"] + "\":["; res = res + result[index] + "]"; if (index ==result.Count() - 1) res = res + "}"; else { res = res + ","; } } return res; }
前端:
functionBatchSerchSoufunAgent(pageIndex) { var parameters = [ { queryId: "SearchWeChatOrgUsers", quickQueryResource: "WeChatOrgQuickQuery", dataSource: "dataSource", pageable:true, pageIndex: pageIndex, pageSize: 10, order: "Levels-desc" }, { queryId: "SearchWeChatOrgUsers", quickQueryResource: "WeChatOrgQuickQuery", dataSource: "dataSource", pageable: true, pageIndex: pageIndex, pageSize: 10, order: "Levels-desc" } ]; $.ajax({ type: "post", url: "@Url.Content("~/BatchQueryPage")", dataType: "json", global: false, data: JSON.stringify(parameters), async: false, beforeSend: function(xml) {}, success: function (data) { if (data.SearchWeChatOrgUsers[0].Code< 0) { alert(data.SearchWeChatOrgUsers[0].Message); return; } if (data.SearchWeChatOrgUsers[0].Code== 1) { alert("未找到相关的数据!"); return; } data.list = data.SearchWeChatOrgUsers[0].Data; var html =template("SearchSouFunAgentTemplate", data); $("#SearchSouFunAgentDiv").html(html); $("#SearchSouFunAgentPageDiv").twbsPagination({ totalPages: data.SearchWeChatOrgUsers[0].PageInfo.PageCount, visiblePages: 10, startPage: pageIndex, first: '首页', prev: '上一页', next: '下一页', last: '尾页', onPageClick: function(event, page) { SerchSoufunAgent(page); } }); }, error: function(event, XMLHttpRequest, ajaxOptions, thrownError) { alert(XMLHttpRequest); }, complete: function(xml, ts) { } }); }
其中头部是用byte数组并且获得Request.InputStream的原始流在用ASCII编码拿到后转换成string,接着用newtonsoft转换成JArray集合并且填充Dictionary复合数据,然后按照key来得到这两个parameter,接着根据获得的ajax数据集合的数量批量发quickquery,最后把这两个json集合成res输出。
前端要注意的是code和message以及list的位置都在index0的索引下面。
0 0
- 批量发多次quickquery
- 多次批量复制操作
- 批量发工资或发邮件
- javaMail批量发邮件研究
- storm中一个Bolt发emit多次相同类型消息
- 一个界面发多次网络请求(GCD使用)
- 批量发工资条小工具使用说明
- phoenix 批量插入优化(一次commit,多次commit比较)
- 优化后的快速模糊查询插件QuickQuery
- ECSHOP支付宝发货同步接口【支持多次付款同步发
- 发邮件的基本素养——与大学生的多次交流总结
- CS模式下的自动填充框(高效率,解决输入法多次回发问题并进行延迟处理)
- 发
- 发
- 发
- 发
- 发
- java分组批量执行,发短信、创建Lucene索引(应用场景)
- iOS 字符串截取
- mysql DateDiff 时间差
- 7. 桥接模式
- 安卓开发使用SVN管理注意事项SO文件不提交问题
- Hadoop .配置SSH无密码登录
- 批量发多次quickquery
- 离开了公司,你还有什么
- 解决安装好node但可能不能使用的问题——用npm检查不显示node的问题
- 8. 装饰模式
- mongodb查询
- Win10不需要Cygwin搭建大数据测试环境(2)-HBase
- 9. 外观模式
- Android Makefile中inherit-product函数简介,以及与include的区别
- lua的string库和正则表达式