小弟碰到一个问题,是这样的:
客户端和web服务通信,webservice里有俩个方法:
1,public object[] LoadAllObjs(object obj)
2, public void Save(object[] objs)
第一个方法客户端解析后返回的是 ArrayOfAnyType 类型,客户端使用List<object> objs 能接收。
第二个方法客户端解析后是Save(webservice.Reference1.ArrayOfAnyType objs),但是传递 object[] 的数组时候
却提示无法将类型 object[] 类型转换成 webservice.Reference1.ArrayOfAnyType 有哪位高人知道怎么解决这个问题,急求!
客户端和web服务通信,webservice里有俩个方法:
1,public object[] LoadAllObjs(object obj)
2, public void Save(object[] objs)
第一个方法客户端解析后返回的是 ArrayOfAnyType 类型,客户端使用List<object> objs 能接收。
第二个方法客户端解析后是Save(webservice.Reference1.ArrayOfAnyType objs),但是传递 object[] 的数组时候
却提示无法将类型 object[] 类型转换成 webservice.Reference1.ArrayOfAnyType 有哪位高人知道怎么解决这个问题,急求!
解决方案 »
- 请教一个控件数组与实际控件绑定的问题
- ReorderList,怎么在拖延后保存新次序到数据库?
- checkbox或者checkboxlist选择后动态生成table
- 关于js弹出窗口的问题
- vs2003做的程序, 现在用vs2005打开想再编辑一些功能??
- 难道我比不上一个和尚
- 向sqlserver数据库存入datatable中数据时类型为decimald的字段产生舍入问题
- 如何重定向Frame页???急!!!
- vs 2003,如何读取资源文件?
- .net 新闻内容页标题 <title></title>
- |zyciis| 为什么我这段HTML的Object没有办法报法FlV文件
- |zyciis| 那什么HTML嵌RMVB播放器的时候,出只现播放器但播放不了文件 谢谢
这个问题产生我要说明下,原有的webservice和dal层是采用codesmith生成的,webservice里对每个数据库表基本都定义了满足基本增删改查的方法,另外有个扩展webservice来针对特殊操作,对于中小型的项目很省时省力。但是目前碰到一个项目有一两百张表,这样生成的web服务太庞大了,我以前用的一台旧台式机没法生成,现在用的双核弄一次也要半个小时,实在无法忍受,所以想改造一下服务。
具体思路是客户端具体页面传递对象数组到webservice,由webservice通过反射来解析对象(反射很慢,这里会用缓存),执行操作;然后返回object数组到客户端,客户端自己转换(原来考虑过接口,但是接口不能序列化,无法用在webservice里),由此有了问题里说的。
现在这里我已经自己解决了,客户端只用实例化一个 ArrayOfAnyType对象,用Add方法把需要传递的对象添加进去,这样就可以传递 object 数组了。webservice端可以识别并做出相应操作。