概述Silverlight Crossdomain Access WebService And Debug 主要是在你的Web Service目录下,放个clientaccesspolicy.xml 注意是根目录。我只有放在C:\netpub\wwwroot才行,虚拟目录下不行。 在项目中使用SilverLight调用WebService,经常出现在Debug状态下无法访问WebService的情况。
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 > 这样就解决了跨域访问的问题
总结
以上是内存溢出为你收集整理的Silverlight Crossdomain Access WebService And Debug全部内容,希望文章能够帮你解决Silverlight Crossdomain Access WebService And Debug所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)