加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

【优化记录】WebService编写接口时,注意传输对象的选择减少传输

发布时间:2020-12-16 21:40:15 所属栏目:安全 来源:网络整理
导读:优化编写接口时,请注意传输对象的选择,数据量大时传输严重耗时!!! 工作中,发现很多WebService接口的传输对象使用 byte[] 、Dataset 、自定义DTO Dataset作为接口返回对象:请求调用时会自动将Dataset序列化为Base64字符,长度超出了自行序列化为XML的

优化编写接口时,请注意传输对象的选择,数据量大时传输严重耗时!!!

工作中,发现很多WebService接口的传输对象使用 byte[] 、Dataset 、自定义DTO

Dataset作为接口返回对象:请求调用时会自动将Dataset序列化为Base64字符,长度超出了自行序列化为XML的长度(未序列号schema)

byte[]作为接口返回对象: 接口调用时会将byte[]转为Base64字符,Base64实际传输长度 已经超出原对象序列化为XML的长度, 没有起到优化的作用

自定义DTO:接口调用时会将DTO转为XML格式字符对象

建议:

1.接口优化 使用String类型返回/ Json格式或自行序列化,减少传输内容

2.开发新接口 直接上WebApi / Json

?

三行数据比较 XML PK Json (ToBase64) 自行比较

XML
<DataSet1><DataTable1><price>50</price><tax>4.3100</tax><total>54.3100</total></DataTable1><DataTable1><price>50</price><tax>4.3100</tax><total>54.3100</total></DataTable1><DataTable1><price>50</price><tax>4.3100</tax><total>54.3100</total></DataTable1></DataSet1>

Base64
PERhdGFTZXQxPjxEYXRhVGFibGUxPjxwcmljZT41MDwvcHJpY2U+PHRheD40LjMxMDA8L3RheD48dG90YWw+NTQuMzEwMDwvdG90YWw+PC9EYXRhVGFibGUxPjxEYXRhVGFibGUxPjxwcmljZT41MDwvcHJpY2U+PHRheD40LjMxMDA8L3RheD48dG90YWw+NTQuMzEwMDwvdG90YWw+PC9EYXRhVGFibGUxPjxEYXRhVGFibGUxPjxwcmljZT41MDwvcHJpY2U+PHRheD40LjMxMDA8L3RheD48dG90YWw+NTQuMzEwMDwvdG90YWw+PC9EYXRhVGFibGUxPjwvRGF0YVNldDE+

Json
{"DataTable1":[{"price":50,"tax":4.3100,"total":54.3100},{"price":50,"total":54.3100}],"success":[{"RETURN_CODE":"0","ERROR_MSG":""}]}

Base64eyJEYXRhVGFibGUxIjpbeyJwcmljZSI6NTAsInRheCI6NC4zMTAwLCJ0b3RhbCI6NTQuMzEwMH0seyJwcmljZSI6NTAsInRheCI6NC4zMTAwLCJ0b3RhbCI6NTQuMzEwMH0seyJwcmljZSI6NTAsInRheCI6NC4zMTAwLCJ0b3RhbCI6NTQuMzEwMH1dLCJzdWNjZXNzIjpbeyJSRVRVUk5fQ09ERSI6IjAiLCJFUlJPUl9NU0ciOiIifV19

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读