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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    Django URL 命名空间
    数据库
    iOS之网络数据下载和JSON解析
    IOS之AFNetworking的使用
    IOS之网络数据下载和JSON解析
    IOS之XML解析
    iOS网络基础知识
    iOS开发--Block
    IOS开发——使用数据库
    IOS 开发下拉刷新和上拉加载更多
  • 原文地址:https://www.cnblogs.com/yefengmeander/p/2887634.html
Copyright © 2011-2022 走看看