我写了一些包含一个方法的WCF服务。 该方法不会获得任何参数 - 但返回字符串。
尝试通过silverlight应用程序调用此服务 - 我对“跨域访问策略”有例外。
我google它,我发现我需要将'clientaccesspolicy.xml'添加到服务根目录(WCF根应用程序) - 所以我做了......但仍然得到相同的异常。
(我正在使用.net 4.0和我使用IIS 7.5的服务)
感谢您的帮助。
答案 0 :(得分:1)
见:
http://msdn.microsoft.com/en-us/library/cc645032%28VS.95%29.aspx
您可能需要crossdomain.xml以及clientaccesspolicy.xml。
e.g。 crossdomain.xml的
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
和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>
仔细检查所需文件是否在正确的路径中。我曾经遇到过flash应用程序的这个问题,因为xml文件位于错误的目录中而一直打破。