silverlight+wcf 将web项目添加到IIS后就连接不上数据解决思路

silverlight+wcf 将web项目添加到IIS后就连接不上数据
silverlight+wcf 将web项目添加到IIS后就连接不上数据。我的wcf和silverlight宿主是同一个项目“BusinessApplication.web”下(如图),添加进IIS后,能显示SilverLight的界面,没有数据。在网上找了一天答案也没解决,求解!!谢谢。


------解决方案--------------------
那个网站运行时会随机选择端口号吧?!

你在silverlight项目中添加WCF引用时使用什么地址和端口号?

实际上silverlight访问WCF,运行时在你new一个客户端代理的实例时,不应该使用无参数的方法,而应该使用有2个参数的那个方法,第二个参数给出的是服务器端的url。就算是“宿主网站”,你部署到IIS上之后它的url也跟你开发时引用的那个url不一样了,应该动态地访问silverlight应用当前的Application.Current.Host.Source来动态产生url参数。

当然有一种死板的办法,就是每当你打算发布的时候都去手动修改ServiceReferences.ClientConfig文件,然后才编译和发布。然后还要再改回来,才能继续调试。不过还是不要这样遭罪吧。
------解决方案--------------------
嗯,看了一下msdn: http://msdn.microsoft.com/zh-cn/library/cc197941(v=vs.95).aspx

你可以修改配置文件中的address,把它改为 ../ 开头的地址。
------解决方案--------------------
silverlight真是讨厌。你手动去修改地址,那么调试和发布时都需要记得改来该去的,要注意。
------解决方案--------------------
另外,我在VS下把ServiceReferences.ClientConfig下改为<endpoint address="http://XXX.XXX.XXX.XXX:82/testService.svc"....... ,F5运行后提示:尝试向URI"http://XXX.XXX.XXX.XXX:82/testService.svc"发出请求时出错。这可能是由于试图跨域式访问服务器而又没有正确跨域策略,或策略不适用于SOAP服务。

后来又在宿主服务器根目录下添加了"clientaccesspolicy.xml"文件,F5运行后提示:“远程服务器返回了错误:NotFound”

你把ADDRESS改成你发布的网站的路径 然后重新生成,再发布下试试