全新Silverlight项目中的例外情况

时间:2010-07-16 04:45:49

标签: visual-studio silverlight wcf visual-studio-2010 silverlight-4.0

当我尝试运行新创建的Silverlight应用程序时,收到以下异常消息:

  • 尝试向URI“http://localhost:8732/Design_Time_Addresses/IsAProgrammer.Service/Service1/”发出请求时发生错误。这可能是由于尝试在没有适当的跨域策略的情况下以跨域方式访问服务,或者是不适合SOAP服务的策略。您可能需要联系服务的所有者以发布跨域策略文件,并确保它允许发送与SOAP相关的HTTP标头。在不使用InternalsVisibleToAttribute属性的情况下,在Web服务代理中使用内部类型也可能导致此错误。有关更多详细信息,请参阅内部异常。

这就是我所做的。我开始使用silverlight app。这创造了2个项目。我的实际Silverlight应用程序和一个名为MySolutionName.web(不知道除了托管我的silverlight页面之外会做什么)。

然后我创建了一个WCF项目,因此我可以为我的Silverlight应用程序提供一些服务。我提供了服务,然后在silverlight项目中添加了服务参考。然后我将绑定更改为basicHttpBinding用于我的服务。 (我随后在Silverlight应用程序中刷新了我的服务资源参考。)

我读到这个错误,我发现我需要一个clientaccesspolicy.xml和一个CrossDomain.xml文件来修复它。我找到了每个这些的通用副本,并将它们添加到我的MySolutionName.Web项目和我的WCF项目中。

任何其他想法都会很棒。

2 个答案:

答案 0 :(得分:1)

我自己并没有做很多WCF,但听起来你已经创建了2个Web应用程序,一个是Silveright应用程序是主机,另一个是WCF服务。这是故意的吗?

我猜你应该刚刚将WCF服务项添加到现有的主机Web应用程序中。

答案 1 :(得分:0)

当你第一次使用silverlight或wpf玩wcf服务时,这些错误肯定会来:)。以下链接将帮助您将跨域政策放在正确的位置。

Where to place ClientAccessPolicy.xml for Local WCF Service?