好几次了,执行的好好的Silverlight项目调用Web Service时报"System.Security.SecurityException: 安全性错误",如下图所示:
因为这几天只是学习、测试Silverlight的功能,并没有作什么正式的项目,所以每次看到这个就直接重新建一个工程,今天真的不耐烦了,上网找了下原因,大概是Silverlight跨域访问的权限问题,需要在Silverlight的宿主项目(ASP.NET的启动项目)下建立一个"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>
<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>
重新启动应用程序,OK!