使用Web服务

时间:2013-03-15 10:14:25

标签: c# wpf wcf visual-studio-2012 ria

我有一个通过RIA消耗数据的silverlight应用程序。有些方法可以通过服务参考在Silverlight和WPF应用程序中使用它们。在开发中,这些服务通过localhost调用,一切正常。我已经设置了我的主机文件,以便它可以在subdomain.domain.com。 现在(也经过几次重启)当我通过不同的浏览器访问.svc时,我在Chrome和Internet Explorer中的同一网址上得到了不同的响应。

Chrome展示: [名称]服务, 要测试此服务,您需要创建一个客户端并使用它来调用该服务。您可以使用命令行中的svcutil.exe工具执行此操作,语法如下:... 您还可以将服务描述作为单个文件访问:...

Internet Explorer,Firefox显示: [没有显示名称]服务, 要测试此服务,您需要创建一个客户端并使用它来调用该服务。您可以使用命令行中的svcutil.exe工具执行此操作,语法如下:... Internet Explorer中缺少最后一部分(第二个网址,单个文件访问链接)。

但最糟糕的是,如果我在添加服务引用时在VS2012中输入相同的URL,我收到此消息:

  

请求失败,HTTP状态为404:Not Found。元数据包含无法解析的引用:...

服务如何针对几乎相同的请求提供三种不同的响应?

更新:也许有用的信息是该服务不包含在单独的.svc文件中,但是ProjectDomainService.cs(和AuthenticationDomainService.cs)和.svc网址会以某种方式自动捕获(服务器上不存在此类文件) 。 而且,如果我删除

,Chrome的行为与Internet Explorer相同
<add name="Soap" type="Microsoft.ServiceModel.DomainServices.Hosting.SoapXmlEndpointFactory, Microsoft.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

来自web.config。

另外,ping subdomain.domain.com会显示我应该的本地IP。

1 个答案:

答案 0 :(得分:0)

问题似乎是一个简单的ID-10-T错误。我们公司在Internet选项(连接)下为LAN设置设置了自动配置脚本。 取消选中此选项可使所有浏览器都可以使用主机条目,所有内容似乎都按预期/期望工作。虽然我知道代理在使用hosts文件时可能会出现问题,但我并不知道我的系统设置(它没有设置,因此它在设置中可见,但隐藏在网络共享的配置文件中)。

在这些(旧)设置下工作的唯一浏览器是未安装的浏览器,而是便携式副本。

由于这解决了我的问题,我不确定天气我现在可以期待其他意想不到的问题......但至少它有效。