Silverlight访问WebService的Crossdomain以及调试

在项目中使用SilverLight调用WebService,经常出现在Debug状态下无法访问WebService的情况。

假设WebService部署在http://localhost/SonicLocalizationService/LocalizationWebService.asmx。当以Debug运行SilverLight时,SilverLight网页运行在VS的内置Web Server中,如:http://localhost:56287/SilverlightClientWeb/。此时即被理解为跨域访问,因为端口号不一样。

 SilverLight对于跨域的访问首先从网站根目录查询clientaccesspolicy.xml文件,如果这个文件不存在,则查询crossdomain.xml。比如网站根目录在C:\netpub\wwwroot,则在其中放入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 >

 我试验将clientaccesspolicy.xml删除,迫使silverlight使用crossdomain.xml,结果不行,不知道咋回事。

crossdomain.xml内容如下:

<? xml version="1.0" ?>
<!--  http://localhost/crossdomain.xml  -->
< cross-domain-policy >
    
< allow-access-from  domain ="*"  secure ="true" />
</ cross-domain-policy >

这样就解决了跨域访问的问题,另外要想调试silverlight,必须从WebSite project启动,我发现从silverlight本身启动无法访问WebService。要在WebSite Project中调试SilverLight需要改变项目属性,增加对Silverlight的调试:

 

 如此就可以调试啦。

转载于:https://www.cnblogs.com/sayo/archive/2008/07/29/1255787.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值