首页 新闻 搜索 专区 学院

大家说说你们在用webservices时一般用什么作为返回类

0
悬赏园豆:5 [已解决问题] 解决于 2008-01-15 10:01
<P>第一:大家说说你们在用webservices时一般用什么作为返回类型&nbsp;?</P> <P>DataSet,<FONT color=#000000>XmlDataDocument,数组或者是结合类型呢?</FONT></P> <P><FONT color=#000000>第二,下面的这段代码,在性能上是否有区别?</FONT></P> <P>public <FONT color=#00ff00>DataSet</FONT>/ <FONT color=#ff0000>XmlDataDocument</FONT> GetSiteAData(string AssignName)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataSet dsNorthwind = new DataSet();&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String sConnect;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sConnect = "Password=luowen;User ID=sa;database=bbs;Data Source=192.168.18.120";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SqlConnection nwconnect = new SqlConnection(sConnect);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String sCommand = "select * from bbs_link";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SqlDataAdapter myDataAdapter = new SqlDataAdapter(sCommand, nwconnect);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; myDataAdapter.Fill(dsNorthwind, "link");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT color=#ff0000>//XmlDataDocument doc = new XmlDataDocument(dsNorthwind);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //doc.Save(Console.Out);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //if (true) //如果执行成功,存储过程<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp; XmlNode root1 = doc.DocumentElement;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp; XmlNodeList roots = root1.SelectNodes("list");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp; foreach (XmlNode roota in roots)&nbsp; //为所有元素加上站点名称标记<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlElement Link = doc.CreateElement("SiteName");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Link.InnerText = ConfigurationManager.AppSettings["SiteName"].ToString();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; roota.AppendChild(Link);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp; return doc;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp; return null;</FONT><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT color=#00ff00>return dsNorthwind;</FONT><BR>&nbsp;&nbsp;&nbsp; }</P> <P>&nbsp;</P>
伊牛娃的主页 伊牛娃 | 菜鸟二级 | 园豆:207
提问于:2008-01-11 11:36
< >
分享
最佳答案
0
这其实要看webservices的客户端是什么了,如果有.net客户端那是用dataset好,当然它内部也是转换成xml的,如果客户端是web应用那最好是自己定义格式,json也不错,但操作起来会麻烦一些,asp.net ajax有json和datatable的转换,用起来挺方便的,但还不成熟,有些bug
小飞侠IT | 菜鸟二级 |园豆:250 | 2008-01-11 16:08
其他回答(8)
0
最近返回实体对象,集合的话,返加实体数组。这样的性能是最好的,而且最关键的一点是能跨平台,如果你使用DataSet,DataTable,那都是.NET对象,只有.NET才能认识。
阿不 | 园豆:665 (小虾三级) | 2008-01-11 12:58
0
JSON
Dev.Hong | 园豆:415 (菜鸟二级) | 2008-01-11 13:09
0
用实体对象数组。
lonelywolf | 园豆:190 (初学一级) | 2008-01-11 14:31
0
byte【】
jisen | 园豆:292 (菜鸟二级) | 2008-01-11 17:36
0
不论是对象,对象数组,DT,DS其实都是序列化传送的. 只不过有些过程.net帮你做了,你感觉不到罢了,使用XML和JSON都是比较好的选择. 这个地方的性能几乎可以忽略不计,相关于数据库的开销这里的性能影响要小得多.
沙加 | 园豆:3680 (老鸟四级) | 2008-01-11 22:01
0
xml和json
cloudgamer | 园豆:280 (菜鸟二级) | 2008-01-12 19:20
0
肯定不可以DataSet,如果要跨平台的话。
Jeffrey Zhao | 园豆:1629 (小虾三级) | 2008-01-13 03:40
0
直接传对象就可以了。
Game_over | 园豆:260 (菜鸟二级) | 2008-01-13 10:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册