积极答复者
Silverlight+wcf的问题

问题
-
相关问题好都人都问过了,主要是wcf跨域问题。我的wcf服务是通过建立网站建立的。然后新建了一个Silverlight的工程,在解决方案里面通过“添加网站”方式将wcf服务所在的网站添加进来。问题就出现,如果将wcf配置成IIS下网站,并且在Silverlight工程中的ServiceReferences.ClientConfig文件<endpoint address="http://locahost/Service.svc",加入相应的跨域访问xml文件,程序能够正常执行,但是无法对wcf中的服务进行调试。
如果不配置,两个工程一起调试的话,就会出现“尝试请求 URI“http://localhost:12290/WCFService Web/Service.svc”时发生错误。这可能是因为在没有适当的跨域策略的情况下试图以跨域方式访问服务,或者是策略不适用于 SOAP 服务。您可能需要与服务所有者联系以发布跨域策略文件,确保策略允许发送与 SOAP 相关的 HTTP 头。请参阅内部异常以了解详细信息”这样的错误。不知道怎么才能解决呢?
2008年10月19日 3:45
答案
-
jiaokeye 写: <?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="http://localhost:1198"/>
</allow-from>
<grant-to>
<resource path="http://austin-t61:1197/Service1.svc" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>1。以上是我的跨域文件,http://austin-t61:1197/Service1.svc我挂在了IIS上,并可以通过IE访问
2。http://localhost:1198是我Silverlight的Host地址,Host的端口为1198,我运行后,一然提示我需要跨域策略,我跨域策略就放在Host的根目录下也就是http://localhost:1198
郁闷啊 一然不行 谢谢您希望再给我一些提示 劳驾!!!
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>先试验这个所有验证都通过的跨域策略,这个ok了,最好是本地做域名镜像
修改本机这里c:\windows\system32\drivers\etc\host.jxj
localhost的跨域是有点问题,然是本地域名映射之后就ok了,真实环境其实也是这样2008年12月3日 14:22
全部回复
-
2008年12月2日 9:10
-
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="http://localhost:1198"/>
</allow-from>
<grant-to>
<resource path="http://austin-t61:1197/Service1.svc" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>1。以上是我的跨域文件,http://austin-t61:1197/Service1.svc我挂在了IIS上,并可以通过IE访问
2。http://localhost:1198是我Silverlight的Host地址,Host的端口为1198,我运行后,一然提示我需要跨域策略,我跨域策略就放在Host的根目录下也就是http://localhost:1198
郁闷啊 一然不行 谢谢您希望再给我一些提示 劳驾!!!
2008年12月3日 10:32 -
jiaokeye 写: <?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="http://localhost:1198"/>
</allow-from>
<grant-to>
<resource path="http://austin-t61:1197/Service1.svc" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>1。以上是我的跨域文件,http://austin-t61:1197/Service1.svc我挂在了IIS上,并可以通过IE访问
2。http://localhost:1198是我Silverlight的Host地址,Host的端口为1198,我运行后,一然提示我需要跨域策略,我跨域策略就放在Host的根目录下也就是http://localhost:1198
郁闷啊 一然不行 谢谢您希望再给我一些提示 劳驾!!!
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>先试验这个所有验证都通过的跨域策略,这个ok了,最好是本地做域名镜像
修改本机这里c:\windows\system32\drivers\etc\host.jxj
localhost的跨域是有点问题,然是本地域名映射之后就ok了,真实环境其实也是这样2008年12月3日 14:22 -
Fredy.Hua 写: .
我建议你可以看看下面这个文章:
http://community.csdn.net/IndexPage/SmartQuestion.aspx
在没有人回复你的邮件之前,请先确认自己的问题是否描述清楚了,另外请避免说脏话,任何问题都是由原因的,没有人专门为你活着,我很奇怪版主为什么不删除上面的帖子--这里只是个技术论坛。
最后我要澄清的是我不是微软的工程师。
2008年12月5日 10:50 -
Killmyday 写: Fredy.Hua 写: .
我建议你可以看看下面这个文章:
http://community.csdn.net/IndexPage/SmartQuestion.aspx
在没有人回复你的邮件之前,请先确认自己的问题是否描述清楚了,另外请避免说脏话,任何问题都是由原因的,没有人专门为你活着,我很奇怪版主为什么不删除上面的帖子--这里只是个技术论坛。
最后我要澄清的是我不是微软的工程师。
脏口已删...其实我想给那位脏口的同志次改过自新的机会...
2008年12月5日 11:58