Silverlight(跨域) + WCF 常见错误调试方法
2011-11-08 19:23
239 查看
1、 404 Not Found a. 检查服务器是否放了 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>
重点,跨域文件一定要放对地方,位置一定是网站根目录,比如你在根目录发布的是一个虚拟目录,那么这个文件在虚拟目录里是不行的,一定要在根目录(http://域名/clientaccesspolicy.xml 这样可以访问到才行),如果是虚拟的web服务器咋整,这个我也不知道怎么弄,晕。。。。。。。。。(只要http://域名/clientaccesspolicy.xml可以访问应该就可以)配置文件少了一个http-request-headers="*"我调了两天 就是报错,加上后本地不报错了,但其他机器访问还是报错,用fiddler在客户端看了一下,发现配置文件无法下载,跨域文件是需要下载到客户端然后silverlight文件读取的,如果无法下载,当然失败了。发现问题了,是防火墙开着没有配置90端口例外,被防火墙阻止了,晕。。。。。。 b. 还有可能因为其他原因造成,可以用 http 监听工具查看 response 的内容,看到异常信息。 2. 调用 WCF 时发现传参丢失,变成 null. 原因:客户端代理不同步,更新一下服务引用即可。3.IIS根服务器启用了HTTPS,而WCF服务我启用了HTTP,所以当Siverlight请求策略文件时被IIS拒绝了,返回了403错误,因此Silverlight无法访问策略文件。 所以只需要关闭IIS服务的HTTPS问题就解决了!如果WCF 的宿主是独立的 Application的话手动加载跨域文件.CrossDomainService.PoliceFilePath ="c:\WCF_APP\clientaccesspolicy.xml" ;ServiceHost policy_host =new ServiceHost(typeof(CrossDomainService), new Uri[1] { new Uri("192.168.1.1") });policy_host.Open();
相关文章推荐
- Silverlight + WCF 常见错误调试方法
- Silverlight + WCF 常见错误调试方法
- JDBC 程序的常见错误及调试方法
- Silverlight 引用 WCF 服务 "尝试向 URI..." 错误的解决方法
- WCF常见错误解决方法
- WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭
- WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭
- Silverlight 调用WCF常见错误
- WCF-OracleDB adapter常见错误解决方法
- net 下安装、调试的常见问题与错误及解决方法
- VC 调试中一些常见的错误信息及解决方法
- 使用IIS作为宿主发布WCF服务常见错误以及解决方法
- JDBC 程序的常见错误及调试方法
- JDBC 程序的常见错误及调试方法
- sliverlight 访问WCF服务跨域错误解决方法
- c语言中字符串操作常见错误及调试方法
- JDBC 程序的常见错误及调试方法
- WCF分布式开发常见错误(13):The transaction under which this method call was executing ,此方法调用的事务被异步中断
- WCF分布式开发常见错误(13):此方法调用的事务被异步中断
- net 下安装、调试的常见问题与错误及解决方法 [转]