OData集合绑定功能,持续获得404

时间:2015-04-27 08:31:51

标签: c# function collections odata

我真的卡住..我只是想弄清楚如何让这个工作.. 我想创建一个自定义函数并将其绑定到以下URL:

http://localhost:[someport]/odata/Dealers/SomeFunction

凡odata是我的路线前缀,经销商是我的经销商控制器,SomeFunction是我的自定义功能。

我已完成以下操作"注册"功能:

builder.EntityType<Dealer().Collection.Function("SomeFunction").Returns<string>();

这是我的职责:

[HttpGet]
public IHttpActionResult SomeFunction()
{
    return Ok("Some");
}

但是一旦我要求上面提到的网址......没有任何反应..

有人可以给我一些指导。

BR, INX

1 个答案:

答案 0 :(得分:1)

您必须在URL

中指定命名空间

http://localhost:[someport]/odata/Dealers/[namespace].SomeFunction

如果没有指定,命名空间是默认的,或者可以像这样设置:

builder.Namespace = "MyNamespace";

如果您使用的是IIS,请将这些行添加到配置文件

 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
 </system.webServer>

如果您使用的是OdataV4,您还可以通过为HttpConfiguration启用非限定名称来启用不带命名空间的调用

config.EnableUnqualifiedNameCall(unqualifiedNameCall: true);