我的问题是:怎样webservice的返回值是一个自定义类,应该怎样做?
引用别人的问题:
问题一:
我遇到的问题是:
一个web服务器站点的某页面需要远程另一台数据库服务器中的数据,现打算用web service实现,在数据库服务器那端建立一个web服务项目,通过参数传递,执行SQL语句,查询数据库,得到一组数据(视图),但是,如何将这组数据传给web服务器呢,在web服务器上用页面来显示这些数据???
web service能返回任意数据类型,但似乎不能返回“视图”!所以考虑能不能将这组数据封装到XML文件中,然后传回这个XML文件,页面再从XML文件中获取数据???
很急,小女谢谢各位帮忙了!
返回DataSet
数据量很大时用Web Service返回会比较慢,因为数据在从Web Service发出时,需要经过序列化,即把DataSet对象转变成SOAP可以传送的文本,客户端接收数据时,需要反序列化,就是反过来从SOAP中生成客户端需要的DataSet,对象在Web Service中是不可以直接传输的,要经过序列化才可以,这里又涉及到了一个问题,就是有些对象不能序列化的,不能用Web Service直接返回,如DataTable。
还有一个造成慢的原因就是,一个对象序列化后,体积会变大,因为序列化后的XML文本是自我描述的,所以文本中重复出现很多相同的tag,特别是数据量大的时候。
.NET里面有Web Service和Remoting两种远程访问方式,如果你的客户端和服务器同在一个局域网的话,可以用Remoting,速度快很多的。
问题二:
我使用WebService返回一个类,但是WebService自动生成了一个代理类,不是我原来的类的结构(所有共有变量都有,但是没有方法),