SilverLight异步调用WebService出错!

yu4shine 2009-06-12 11:52:28
下面这个问题,郁闷我好几天了,各位大侠帮忙看看;

在本地的Web站点中使用SilverLight,异步调用本地的WebService出错;

在VS2008英文版中,调试过程中报错
“这可能是因为在没有适当的跨域策略的情况下试图以跨域方式访问服务,或者是策略不适用于 SOAP 服务。您可能需要与服务所有者联系以发布跨域策略文件,确保策略允许发送与 SOAP 相关的 HTTP 头。请参阅内部异常以了解详细信息。”

找了一下,说是clientaccesspolicy.xml 的问题,拷贝到Web项目根目录中,调试依然报错。把带SilverLight的Web站点,一起直接部署到IIS, 使用相同的主机头,将clientaccesspolicy.xml拷贝到Web站点根目录下,还是
报错;

具体错误如下:

网页错误详细信息
--------------------------------------------------------------------
用户代理: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; InfoPath.2; CIBA; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
时间戳: Fri, 12 Jun 2009 03:50:29 UTC


消息: Unhandled Error in Silverlight 2 Application 操作过程中出现异常,结果无效。有关异常的详细信息,请查看 InnerException。 位于 System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
位于 picShow.Service.GetContentListByTagCompletedEventArgs.get_Result()
位于 picShow.App.OnGetContentListByTagFreeCompleted(Object sender, GetContentListByTagCompletedEventArgs e)
位于 picShow.Service.MediaServiceSoapClient.OnGetContentListByTagCompleted(Object state)
行: 1
字符: 1
代码: 0
URI: http://www.tt.com:9902/picShowTestPage.aspx
--------------------------------------------------------------------------------------------------------------

感觉不是跨域的问题啊,真的是超级郁闷。
...全文
766 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
l13873666736 2009-07-03
  • 打赏
  • 举报
回复
这个问题我也搞好久,
看你的问题和我问题是不是一样.
我最后是把这个文件放在域的根目录才解决.
即 比如你的根域 http://ddd/ 对应C:\DDD\
WEBSERVICE http://ddd/ws/ 对应C:\WS\
那么你的配置文件要放在C:\DDD\下面才正确.
yu4shine 2009-06-13
  • 打赏
  • 举报
回复
我的跨域文件是这样的,有什么不对吗?
<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from>
<domain uri="*" />
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true" />
</grant-to>
</policy>
</cross-domain-access>
</access-policy>

调试的时候,这个策略文件拷贝到什么地方呢?
jv9 2009-06-13
  • 打赏
  • 举报
回复
<?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>
jv9 2009-06-12
  • 打赏
  • 举报
回复
你的错误是跨域问题,WCF不能获取内容.
你可以尝试建立Silverlight-enable WCF service解决你的问题.方法和你当前的方法基本相同.
jlj84237485 2009-06-12
  • 打赏
  • 举报
回复
这个 可 能 还 是 你 跨 域 的 问 题
可 能 是 那 个 跨 域 的 文 件 不 对

8,739

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧