跨域部署Silverlight时需要注意的问题
2010-08-22 20:30 NicolasZhang 阅读(628) 评论(0) 编辑 收藏 举报当我们的Silverlight程序(.xap)发布地址和网页发布地址处于不同服务器上(跨域状态)时,由于安全机制在Silverlight和Javascript调用时会出现一些问题,如:Silverlight调用页面中的Javascript方法或页面中的Javscript调用Silverlight方法时报错或无反应,此时我们需要添加以下配置以解决此问题:
1.承载Silverlight的页面中的Object添加参数:
<param name="enableHtmlAccess" value="true"/>
以允许Silverlight访问当前页DOM;
2.Silverlight项目中Properties/AppManifest.xml增加参数,作如下修改:
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
ExternalCallersFromCrossDomain="ScriptableOnly">
<Deployment.Parts>
</Deployment.Parts>
</Deployment>
以允许跨域脚本访问Silverlight中注册并设置为ScriptableMember的对象或方法,
ExternalCallersFromCrossDomain的默认值为NoAccess,即不允许跨域脚本访问。