请教jv9 silverlight+wcf跨域问题

wzp144650 2010-11-24 04:49:14
解决方案分三个项目,asp.net+wcf+silverlight

silverlight访问wcf时总是出现跨域问题,调试都调试不了,至于加策略文件什么的根本没用。主要是调试都调试不了。。很郁闷
...全文
232 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
微恒软件 2011-08-15
  • 打赏
  • 举报
回复
我的同样问题基本解决,问题就出在wcf的配置文件
1、跨域文件 放到wcf的bin下
2、配置文件要添加
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647">
<readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647" />
</binding>
</basicHttpBinding>
</bindings>

<services>
<service name="ServiceTest.Service1" behaviorConfiguration="Metadata">
<endpoint address="http://localhost:15806/Service1.svc" binding="basicHttpBinding"
contract="ServiceTest.IService1" bindingConfiguration="BasicHttpBinding_IService1"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<!--<host>
<baseAddresses>
<add baseAddress="http://localhost:15806/ServiceTest/Service1.svc"/>
</baseAddresses>
</host>-->
</service>

</services>
这两个,默认是不自动生成的,
里面要自己手动配置
majunbopmpm 2011-08-12
  • 打赏
  • 举报
回复
我记得还要在web.config中配置一下才能解决跨域的问题吧
微恒软件 2011-08-11
  • 打赏
  • 举报
回复
我也是遇到同样问题,把策略文件放到哪里都还是报错,不知为何,通过浏览器访问服务正常
jv9 2010-12-05
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wzp144650 的回复:]
引用 11 楼 johnny_depp 的回复:

我都是把WCF单独 用一个控制台项目的
方便以后 移植到不同的宿主

有没有可运行的DEMO啊,我发现网上找的好多源码放到我这都出现跨域问题。。
[/Quote]

我曾经写过一篇WCF链接数据库的教程,其中都是编译好的,可以部署试试。
http://silverlightchina.net/html/tips/2009/1229/503.html

如果仍旧部署失败,你可以Q或MSN我,我可以这个周末帮你部署调试。
jv9 2010-12-05
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wzp144650 的回复:]
再问一句,大家平时如何构建silverlight+wcf的项目呢,是将wcf分开一个项目还是与asp.net的项目放到一起呢
[/Quote]

WCF和ASP.NET服务可以合并在一起部署,也同时支持分离部署。实现方法大同小异。
jv9 2010-12-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wzp144650 的回复:]
引用 6 楼 jv9 的回复:
请问楼主链接服务时返回错误是什么?如果确认是跨域问题,添加策略文件需要放到项目根目录,策略文件才能生效。

我的WCF项目是以控制台开起来的,这与放到根目录有关系吗?放到ASP.NET项目的根目录吗?感觉应该不是啊
[/Quote]

作为跨域策略文件,需要放在根目录才能够生效,是你项目的根目录。策略文件是处理客户端对于服务器端数据请求的,和你的WCF服务在哪里开启无关。
z812183667 2010-12-04
  • 打赏
  • 举报
回复
你把那个WCF别和SL项目放到一块,然后把WCF启动调试,然后在启动SL调试, 你执行SL的方法的时候就可以调试WCF
带你一起飞吧 2010-12-02
  • 打赏
  • 举报
回复
这个我今天搞了半天还没解决,郁闷
wzp144650 2010-11-29
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 johnny_depp 的回复:]

我都是把WCF单独 用一个控制台项目的
方便以后 移植到不同的宿主
[/Quote]
有没有可运行的DEMO啊,我发现网上找的好多源码放到我这都出现跨域问题。。
wzp144650 2010-11-29
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 johnny_depp 的回复:]

我都是把WCF单独 用一个控制台项目的
方便以后 移植到不同的宿主
[/Quote]
按照那个网站的事例照抄了一遍,还是不行,还是提示跨域策略文件不对。。
Johnny_Depp 2010-11-27
  • 打赏
  • 举报
回复
我都是把WCF单独 用一个控制台项目的
方便以后 移植到不同的宿主
jv9 2010-11-25
  • 打赏
  • 举报
回复
请问楼主链接服务时返回错误是什么?如果确认是跨域问题,添加策略文件需要放到项目根目录,策略文件才能生效。
Johnny_Depp 2010-11-25
  • 打赏
  • 举报
回复
http://www.dotnetcurry.com/(X(1)S(ewrymx3vxswvbtrrrvvajr45))/ShowArticle.aspx?ID=208&AspxAutoDetectCookieSupport=1
wzp144650 2010-11-25
  • 打赏
  • 举报
回复
再问一句,大家平时如何构建silverlight+wcf的项目呢,是将wcf分开一个项目还是与asp.net的项目放到一起呢
wzp144650 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 johnny_depp 的回复:]
http://www.dotnetcurry.com/(X(1)S(ewrymx3vxswvbtrrrvvajr45))/ShowArticle.aspx?ID=208&AspxAutoDetectCookieSupport=1
[/Quote]

恩。。。。我试试,貌似有些麻烦。。
wzp144650 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jv9 的回复:]
请问楼主链接服务时返回错误是什么?如果确认是跨域问题,添加策略文件需要放到项目根目录,策略文件才能生效。
[/Quote]
我的WCF项目是以控制台开起来的,这与放到根目录有关系吗?放到ASP.NET项目的根目录吗?感觉应该不是啊
wzp144650 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 johnny_depp 的回复:]

就是跨域文件 问题~~

你是不是把WCF宿主在 控制台项目中?
[/Quote]

对对对。。。那如何解决呢?
Johnny_Depp 2010-11-24
  • 打赏
  • 举报
回复
就是跨域文件 问题~~

你是不是把WCF宿主在 控制台项目中?
wzp144650 2010-11-24
  • 打赏
  • 举报
回复
我的WCF单开了一个项目,然后直接运行起服务,我看网上说的加策略文件都是发布后的事,跟调试没关系。

不是数据问题,直接报错说又可能是跨域问题,跟WCF那个服务根本没连接上,谈不上数据问题
helloWorld1209 2010-11-24
  • 打赏
  • 举报
回复
加这个clientaccesspolicy.xml也没用? 怎么会调试不了呢,

会不会是你的数据有问题

加载更多回复(1)

8,755

社区成员

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

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