zoukankan      html  css  js  c++  java
  • Silverlight Crossdomain Access WebService And Debug

    Silverlight Crossdomain Access WebService And Debug

    主要是在你的Web Service目录下,放个clientaccesspolicy.xml
    注意是根目录。我只有放在C:\netpub\wwwroot才行,虚拟目录下不行。

    在项目中使用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>

    这样就解决了跨域访问的问题



    作者:Angelo Lee
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    Java SE 疑难点记录
    重写(OverRide)与重载(OverlLoad),以及相对应的多态性
    Static 作用探讨
    Java SE作业:判断一个字符串是否是视频文件
    轨迹压缩之Douglas-Peucker算法之Java实现
    论主动思考与专注力——我的读研感悟
    西安电子科技大学2011级计算机科学与技术专业知识体系结构图
    Hadoop分布式平台概述
    Jest测试框架(未完)
    项目经验总结
  • 原文地址:https://www.cnblogs.com/yefengmeander/p/2887634.html
Copyright © 2011-2022 走看看