您的位置:首页 > 运维架构 > 网站架构

一个Silverlight demo网站部署了3天

2010-04-25 03:11 465 查看

我在http://code.msdn.microsoft.com/PRCSL2Samples/Release/ProjectReleases.aspx?ReleaseId=1985

下载了一个纯Silverlight 的demo网站,

在vs2008里调试成功,使用正常。

但是部署到IIS就有问题。首页可以打开,但是提示系统错误

原来就是跨域的权限问题

错误提示:
尝试请求 URI“http://www.XXX.com/PhotoWebService.asmx”时发生错误。这可能是因为在没有适当的跨域策略的情况下试图以跨域方式访问服务,或者是策略不适用于 SOAP 服务。您可能需要与服务所有者联系以发布跨域策略文件,确保策略允许发送与 SOAP 相关的 HTTP 头。请参阅内部异常以了解详细信息。

========================

解决办法

一,添加两个文件

Silverlight 2.0 支持两种不同的机制供服务选择跨域访问:

在承载服务的域的根目录中放置一个 clientaccesspolicy.xml 文件,以配置服务允许跨域访问。

Code
<?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>

并且修改了ServiceReferences.ClientConfig 中的
<endpoint address="http://localhost:3333/SilverlightApplication2/BlogService.asmx" binding="basicHttpBinding"
bindingConfiguration="BlogServiceSoap" contract="BlogService.BlogServiceSoap"
name="BlogServiceSoap" />
地址为我部署的域名。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: