而试图做出URI请求时出现错误:
的 'http://本地主机:8732 / Design_Time_Addresses / WCF /服务1 /'。 这可能是由于尝试
在跨域方式访问服务没有正确的跨域策略到位,或
政策是不合适的SOAP服务。 您可能需要联系服务的业主
发布一个跨域策略文件,并确保它允许SOAP有关的HTTP标头
发送。 此错误也可以通过在Web服务代理使用内部类型,而造成
使用InternalsVisibleToAttribute属性。 请参阅更多的内部异常
细节。
当结果从WCF返回出现错误
我消耗通过控制台,网站这个WCF,赢得形式和它工作正常
我使用的WCF库2个XML文件:
- clientaccesspolicy.xml
- crossdomain.xml的
它曾经让我的大脑受到伤害了。
我想通了,我用我需要这个文件:
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="SOAPAction">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
名为clientaccesspolicy.xml
诀窍是必须是在你的Web服务器的根目录。 话虽这么说,你需要能够浏览该文件。 在你的情况下位于:
HTTP://本地主机:8732 / clientaccesspolicy.xml
如果你不能看到该文件Silverlight将总是抱怨男孩它抱怨时,它可以!
我要指出,我的政策文件是不是限制性的,所以明智地使用它。
呵呵,这个问题。 除了跨域,则不能运行从VS2010调试这就是我从本地主机URL收集。 尝试在域或服务器,你的WCF是上发布的Silverlight应用程序。 例如,如果您的Web服务是HTTP://10.xx.xx.xx/sites/myWCF ,发布到您的Silverlight应用程序的http://10.xx.xx.xx/sites/MySilverlightApp 。 你调试器会为运行HTTP://本地主机:somePort这肯定是要给你的问题,甚至有一个跨域策略文件。 除此之外,确保在您的web.service您的配置文件是正确的。 确保所有的接口都端点绑定,并有一个主机上的主要服务位置(听起来很明显,但它是一个常见的错误)。