想用webservice传递20个参数,是用一个字符串参数还是20个参数好?

zwbwork2 2017-11-16 09:58:28
我需要写个webservice给别人调用,让对方写数据到一个表里,调用一次写一行,约有20个字段.
我是写20个参数好呢,还是写一个参数,让对方把20个字段的值组合成一个XML字符串的形式传过来, 我在webservice里解析,哪个方法好些?请指教
...全文
694 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghui0380 2017-12-04
  • 打赏
  • 举报
回复
????????????????????????? webservice其实是根据中间标准描述文档去描述协议规则的,双方则通过标准协议文档去生成和解析调用规则 so,这就根本就没啥1个xml字段和20个字段的区别。20个参数根据webservice调用规则最终也只是一个xml或者一个json 当然1个字段和20个字段的唯一区别就是,后期更改上。后期如果加减参数后面一种方案会让对方重新生成代理规则,而前面一种无需重新生成代理规则(但你自己要去验证对方参数是否合法) 当然我们会选择后面一种,不过也不是一个20个字段,我们会选择一个对象(而不是一个什么xml字符串),虽然这样做意味着后期修改会让对方重新生成代理,不过各个语言生成代理对象的工具多的很,压根不费事(如果调用方不会生成代理,那是他水平不够,这不能怪你。当然如果你的对象不是通用对象,而是什么Datatable这样的语言平台专有对象,这个到怪你不能怪别人)
正怒月神 2017-12-04
  • 打赏
  • 举报
回复
首先,肯定是1个参数优于20个参数. 其次在考虑是 自定义类好,还是字符串 json/xml 2种格式。 这个根据自己喜好。一般来说我可能会选择 json或者 xml作为字符串传递。 因为传递自定义类,加密起来稍显麻烦。
fsy123456accp 2017-12-04
  • 打赏
  • 举报
回复
建议使用自定义类,类似实体类,方便扩展,多少个参数都不是问题啊!
XBodhi. 2017-12-04
  • 打赏
  • 举报
回复
json 或是 xml 结构最好, 加个签名,可以确定数据的正确性。
k. 2017-11-17
  • 打赏
  • 举报
回复
个人认为,还是用标准类型比较好,不同的语言调用的话可方便他人调用.
五更琉璃 2017-11-17
  • 打赏
  • 举报
回复
LZ 你要是了解下webservice,其实就是用 SOAP格式的XML通信。你就不会有这问题了。
  • 打赏
  • 举报
回复
定义个实体类,也就是一个class,你懂wcf的就知道数据契约……
exception92 2017-11-17
  • 打赏
  • 举报
回复
XML字符串可以序列化,json字符串也可以序列化,两者作为传输数据差别不大,都可以。 PS:个人观点,欢迎指正。
by_封爱 2017-11-17
  • 打赏
  • 举报
回复
如果是我 我选择一个参数 json. 比如

[webmethod]
public string login(string user)
{
 var uid=user.tojobject.get("uid");
 var pwd=user.to......
 return new {code=1,msg="登陆成功"}.tojson();
}
其中对方传过来的 是标准的json格式的字符串比如

{"uid":"admin","pwd":"12345"}
这样的话 有利于扩展.. 如果你采用多个参数 做了版本更新 那么客户端比较费劲 需要重新下载WSDL...
  • 打赏
  • 举报
回复
对于 webservice 来说,它是定义一个自定义 class,并且只用这类型的参数即可。

12,163

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧