无法添加对我的WCF数据服务的引用

时间:2011-05-20 01:34:35

标签: .net wcf wcf-data-services

我有一个WCF数据服务。我可以在我的浏览器中浏览它,我可以通过URL成功查询...但我无法添加服务引用,我无法将其添加到OData Explorer ...它只是抛出错误

  

网址上的文件   http://localhost/Services/OData/Repository/   未被认定为已知文件   类型。

当我在http://localhost/Services/OData/Repository/浏览我的服务时,我看到了

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<service xml:base="http://localhost/Services/OData/Repository/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
  <workspace>
    <atom:title>Default</atom:title>
    <collection href="Contacts">
      <atom:title>Contacts</atom:title>
    </collection>
  </workspace>
</service>

这正是我期望和想要的。如果我转到http://localhost/Services/OData/Repository/Contacts,我会成功恢复联系人的结果。

我怀疑这与我如何添加我的OData服务有关,但我不确定。我没有svc文件。相反,我正在为RouteTable添加一条路线,如下所示:

RouteTable.Routes.Add(new ServiceRoute("Services/OData/Repository", 
                                       new DataServiceHostFactory(), 
                                       typeof(IMyRepository));

我有一个clientaccesspolicy.xml文件,但这不应该重要,因为这是localhost ......

有什么想法吗?

感谢。

2 个答案:

答案 0 :(得分:3)

添加服务引用时,您需要的是$ metadata端点:

http://localhost/Services/OData/Repository/ $元数据

答案 1 :(得分:0)

您最近是否已升级到其他版本的Windows?

如果是,您需要运行

ServiceModelReg -i

您可以在%WINDIR%\ Microsoft.NET \ Framework \ version \ Windows Communication Foundation文件夹中找到它。