当前位置:编程学习 > C#/ASP.NET >>

Silverlight 跨域访问的问题

遇到一个问题:用WPF程序承载一个WebService,Silverlight可以访问元数据,但是在访问的时候提示跨域访问的问题。
请问这个时候改把clientaccesspolicy.xml 放在那里。 --------------------编程问答-------------------- 放在服务端的根目录下。 --------------------编程问答-------------------- 放在你的WCF服务所在的那个项目的根目录下 --------------------编程问答-------------------- 用WPF程序承载一个WebService ,
那么就要在 WPF 所承载的 WebService 所使用的同一个端口下,
以 webHttpBinding 方式提供 clientaccesspolicy.xml ,
且终结点的地址相对于所承载的 WebService 而言应是“根目录”。

上面说的是 WebService 以非 net.tcp 的方式承载的,
如果是以 net.tcp 的方式承载的,我个人尝试过 Silverlight 4.0 正式版本搞不了这个要求,
因为Silverlight 4.0 正式版只能从80端口访问clientaccesspolicy.xml ,
而不能从 543 端口去访问clientaccesspolicy.xml 。 --------------------编程问答-------------------- 学习学了 --------------------编程问答--------------------
引用 2 楼 bearben2010 的回复:
放在你的WCF服务所在的那个项目的根目录下


不是!

应该如#1楼所说,放在服务器的根目录下。当然这个根,是指从客户端所看到的根。如果你的应用程序访问页面是    

    http://123.abc.com/department1/website1/command1.html

这个页面上有sl的跨域访问,它访问

    http://123.abc.com/department1/webservice1/xxxx.svc

那么你的策略配置xml文件的路径应该是

    http://123.abc.com/clientaccesspolicy.xml

直接跟到网站url之后,而与目录没有关系,更不是放到webservice1下面。 --------------------编程问答--------------------
引用 5 楼 sp1234 的回复:
引用 2 楼 bearben2010 的回复:
放在你的WCF服务所在的那个项目的根目录下


不是!

应该如#1楼所说,放在服务器的根目录下。当然这个根,是指从客户端所看到的根。如果你的应用程序访问页面是  

  http://123.abc.com/department1/website1/command1.html

这个页面上有sl的跨域访问,它访问

  ht……


正解。

不过,楼主说的是用 WPF 或者 WinForm ,就是用 Self-Host 的 WebService 或 WCF 时如何为 Silverlight 提供 跨域策略文件 --------------------编程问答-------------------- 学习啊!!!! --------------------编程问答-------------------- 我刚刚学Silverlight,哪个推荐点号的教程、书或网站给我嘛
补充:.NET技术 ,  Web Services
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,