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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    ubuntu问题集锦
    得把这个事情坚持下来
    海贼王有啥好看的?
    虚拟机网络连不上怎么办?
    耍耍Windows Live Writer
    Jquey模糊选择
    JS网址正则验证
    PowerDesigner 同步Name到Comment 及 同步 Comment 到Name
    进程调用系统默认和邮件客户端并附加指定文件
    Form.DialogResult 属性
  • 原文地址:https://www.cnblogs.com/yefengmeander/p/2887634.html
Copyright © 2011-2022 走看看