【发布时间】:2013-03-25 19:14:34
【问题描述】:
我正在使用 OData 构建 Web API 服务,并希望将方法公开为服务中的操作,如下所示。
http://myServer/odata/myAction
我目前正在按如下方式映射 OData 路由:
Dim modelBuilder As ODataModelBuilder = New ODataConventionModelBuilder
modelBuilder.EntitySet(Of Product)("Products")
Dim myAction = modelBuilder.Action("myAction")
myAction.Parameter(Of String)("Parameter1")
myAction.Returns(Of Boolean)()
Dim model As IEdmModel = modelBuilder.GetEdmModel
config.Routes.MapODataRoute("ODataRoute", "odata", model)
This wonderful tutorial 展示了如何将动作与这样的实体相关联:
http://myServer/odata/Products(1)/myAction
按照教程,我可以在创建模型后在 ProductsController 类中编写操作的方法,使用以下代码行:
Dim myAction = modelBuilder.Entity(Of Product).Action("myAction")
但是,如果我不想将动作与实体相关联,我应该在哪里编写动作的方法?有没有我需要写的 DefaultController 类?
【问题讨论】:
标签: vb.net asp.net-web-api action odata