步骤:
1、建立WCF服务,用IIS托管
2、在SL中直接添加服务引用,类似于WebServices调用。
3、实例化服务,调用方法都是异步的。
问题: sl4.0 再调用iis宿主WCF的时候,在同一个域名下会提示跨域的错误提示。
wcf是正确的,sl4.0调用配置是自动生成的编译成功,都在我本机。
解决:查了N多资料,问的人可真多,但是真正解决的还真少,关键点说的太不明确了。
跨域的文件ClientAccessPolicy.xml 放在IIS的根目录,如果问题还出现
检查SL中生成的配置文件xxx.ClientConfig 中endpoint address 是否正确 ,应该和WCF服务的路径是相同的
ClientAccessPolicy.xml
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>