【发布时间】:2012-04-27 10:50:39
【问题描述】:
我还有大约一个月的时间来开发我的 silverlight 应用程序(这是我的第一个)。直到今天,一切都很顺利,当我突然收到这条消息时:
尝试向 URI 'http://localhost:2682/Services/Authentication/LoginService.svc' 发出请求时出错。这可能是由于在没有适当的跨域策略或不适合 SOAP 服务的策略的情况下尝试以跨域方式访问服务。您可能需要联系服务的所有者以发布跨域策略文件并确保它允许发送与 SOAP 相关的 HTTP 标头。此错误也可能是由于在 Web 服务代理中使用内部类型而不使用 InternalsVisibleToAttribute 属性造成的。有关详细信息,请参阅内部异常。
我正在使用 WCF 服务,直到现在这个问题才出现。 我在我的 [projectname].web 文件夹中添加了一个 clientdomain.xml 和 clientaccesspolicy.xml 文件,并以 1000 种不同的方式重新编写了它们。 我也用过 Fiddler,它告诉我这两个文件都有错误,错误是
[Fiddler] 与 localhost 的套接字连接失败。
ErrorCode: 10061.
无法连接,因为目标机器主动拒绝 127.0.0.1:2682
我搜索了错误“10061”,它与套接字定义有关。但我找不到任何解决方案。
不知道和它有没有关系,但是我的“ASP.net开发服务器”端口是6939。
请记住,该应用尚未部署,因此这只发生在本地。我正在使用 MS VS 2010 和 MS SQL Server 2008。
我做错了什么还是这是一个 Silverlight 问题??
最后一点,我没有更改端口、套接字或服务配置的任何内容。我做的最后一件事是在客户端编辑 XAML 文件,然后应用开始向我抛出此错误。
需要帮助,在解决此问题之前无能为力!!!! 谢谢。
【问题讨论】:
-
你的silverlight app和wcf服务是两个独立的visual studio解决方案吗?
-
我认为 Visual Studio Web 服务器有时会自动切换端口号。如果端口号与您执行“添加服务引用”时的端口号不同,则如果更改,它将失败。尝试改用 IIS。无论如何,这可能是您最终将部署到的内容,因此在开发过程中使用它是有意义的。
-
@ShoaibShaikh 不,他们在同一个项目上。我已经发现了问题,但没有找到原因。谢谢
-
@HenrikSöderlund 感谢您的提示,这正是发生的事情。直到现在才想到这一点,我将看看 IIS 并进行必要的修改。谢谢
-
您甚至可以尝试从代码创建客户端代理实例,而不是依赖 ServiceReferences.ClientConfig
标签: wcf silverlight cross-domain clientaccesspolicy.xml