我有一个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 ......
有什么想法吗?
感谢。
答案 0 :(得分:3)
添加服务引用时,您需要的是$ metadata端点:
答案 1 :(得分:0)
您最近是否已升级到其他版本的Windows?
如果是,您需要运行
ServiceModelReg -i
您可以在%WINDIR%\ Microsoft.NET \ Framework \ version \ Windows Communication Foundation文件夹中找到它。