最近这几天就折腾silverlight。总算有点小成果。
要感谢chegan大哥,他的工作的项目写的非常棒。
切入正题:用silverlight显示层调用webservice时,在开发期没有问题,最后一步发布的时候,问题就来了。你找不到webservice的配置地址了。不知道微软为了啥考虑的,把这么重要的信息给隐藏了。害得我折腾到半夜2点。。。。
参考别人的方法,发现项目编译出的xap文件(在ClientBin目录里),这个文件是个zip文件。用rar解压出来,结构如下。【(天呀~博客园的文件上传出问题了,不能传图片,自己解压一个看看吧。)】你能从里面找到ServiceReferences.ClientConfig,这个文件。打开看,你要修改的地址是不是在里面睡觉?改了这个不干活的地址。
必然之前的 <endpoint address=http://localhost:81/flex/FlexDataService.asmx,而实际发布的地址: address=http://10.111.2.44/flex/FlexDataService.asmx。将解压的文件重新打包,修改名字为之前的xap文件名,拷贝回clientbin目录,覆盖一下。
测试下修改结果吧。good luck~。
另外的好处:重新打包后体积会缩小,还要注意用rar打包的时候,要选装zip格式。