我有一个通过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。
答案 0 :(得分:0)
问题似乎是一个简单的ID-10-T错误。我们公司在Internet选项(连接)下为LAN设置设置了自动配置脚本。 取消选中此选项可使所有浏览器都可以使用主机条目,所有内容似乎都按预期/期望工作。虽然我知道代理在使用hosts文件时可能会出现问题,但我并不知道我的系统设置(它没有设置,因此它在设置中可见,但隐藏在网络共享的配置文件中)。
在这些(旧)设置下工作的唯一浏览器是未安装的浏览器,而是便携式副本。
由于这解决了我的问题,我不确定天气我现在可以期待其他意想不到的问题......但至少它有效。