注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

WCF的学习总结(十八)RIA一个异常的解决  

2014-03-26 16:41:04|  分类: NET(C#) |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

WCF的学习总结(十八)RIA一个异常的解决

在同事中有人写一个RIA的接口函数,类似于如下:void GetData(TData[] a){},然后在几个人的机器上都没事,但在个别人的机器上会报“错误 403 名为“XXX函数的操作不符合所需的签名。返回类型必须是实体或复杂类型、复杂类型的集合或预定义的可序列化类型之一。

Operation named ‘ProcessProducts’ does not conform to the required signature. Parameter types must be an entity type or one of the predefined serializable types.

http://riaservicescontrib.codeplex.com/discussions/268941

 

http://www.codemeit.com/wcf/wcf-ria-service-pass-array-list-or-collection-as-parameter-to-invoke-method.html

后来因为无法重现错误,导致一直没有解决这个问题,后来写这个函数引起这个现象的同事找到了解决的方法,就是上面两个地址中说的。其实是WCF RIA的版本不同的原因。如下图:

WCF的学习总结(十八)RIA一个异常的解决 - 还东国 - 还东国的博客

 

无法运行的同事的机器是上SP1RIAWCF一个精简的子集,因为传的参数是一个数组,数组一般在网络上会进行一次序列化处理才去传输,可能在SP1中是无法对自定义的类实体对象进行自动序列化。到SP2就可以了,所以可以运行的几个机器上都是SP2的原因吧。查了下不能运行的几个机器,确实都是SP1

其实早就应该从报得错误里看出端倪,可是没有认真的想,只是考虑从技术层面解决类似问题了。

所以,搞技术的人一定不要坠入心理的误区。类似还有在C++中,调用某个动态库的接口函数找不到,用尽各种方法才发现,DLL根本没有拷到当前或指定的目录。

简单才是真理。

  评论这张
 
阅读(428)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017