我真的卡住..我只是想弄清楚如何让这个工作.. 我想创建一个自定义函数并将其绑定到以下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
答案 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);