用VS2010开发slirverlight 调用WCF服务

今天研究了一上午加下午好几个小时,终于把这个问题解决了。

问题是用VS2010写得Sirverlight调用WCF 会出现跨域的问题,相信这个问题大家都会遇到过,解决办法很简单,只要在WCF项目根目录加入1个配置文件即可 

内容如下: 

ExpandedBlockStart.gif clientaccesspolicy.xml
//要记得名字为clientaccesspolicy.xml
<? xml version="1.0" encoding="utf-8" ?>  
< access-policy >  
< cross-domain-access >  
< policy >  
< allow-from  http-request-headers ="*" >  
< domain  uri ="*" />  
</ allow-from >  
< grant-to >  
< resource  path ="/"  include-subpaths ="true" />  
</ grant-to >  
</ policy >  
</ cross-domain-access >  
</ access-policy >  

 

 

这个问题很好解决

而我当初遇到的问题却不是这个,

在公网上有一个WCF服务,这个服务是公共的,大家都可以调用的,而且服务不是我写的,我怎么能去人家那里的根目录添加这个配置文件呢?如果遇到这种情况我这里还有一个解决方案,虽然不知道是不是最佳的,但是保证可以实现需求。

想用SL调用一个公网的WCF,这时候要在本地建一个WCF服务,这个WCF服务的作用是来给你的SL项目和WCF项目做桥梁的,在这里我不太明白的地方,(为什么本地WCF服务可以访问外网的WCF服务,而本地的SL项目访问外网WCF服务就会有跨域的问题,希望各位强人可以给予答案 。),继续向下说,想必大家才出来了,我要用我本地的WCF服务访问公网的WCF服务,然后在用本地的SL项目来访问本地的WCF服务,这样就可以同样取得公网WCF服务的数据了

转载于:https://www.cnblogs.com/domybest/archive/2010/05/25/1743647.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值