WCF Data Services如何创建简单的服务方法

时间:2013-10-31 09:22:56

标签: c# .net odata wcf-data-services

我有一个WCF Data service,它使用反射提供程序来公开数据上下文。现在我需要实现一些简单的服务方法(有所有操作。它们没有返回值)。我在谷歌做过一些研究,也发现了很多帖子。 但我从来没有找到像IDataServiceActionProvider的默认实现那样的东西,例如使用属性或类似的东西。

现在的问题是: 我是否真的需要自己实施IDataServiceActionProvider,还是有类似ReflectionDataServiceActionProvider的内容?

1 个答案:

答案 0 :(得分:0)

这可能不是您想听到的答案,但我不知道IDataServiceActionProvider的默认实现。

您可能希望了解使用Web API而不是WCF数据服务创建OData服务;根据我的理解,使用Web API可以更轻松地创建操作。

Alex's blog post获取的一些快速示例代码,用于演示简单性:

ActionConfiguration pullWheelie = modelBuilder.Entity<Motorcycle>().Action(“PullWheelie”); 
pullWheelie.Parameter<int>(“ForSeconds”); 
pullWheelie.Returns<bool>();

或者,您可以使用WCF数据服务创建“服务操作”,而不是创建OData操作,这有点像OData的遗留操作/功能。使用WCF数据服务创建其中一个很容易,但要注意它们将在OData v4中完全消失。要创建服务操作,只需在数据源中创建一个方法,并使用WebGetWebInvoke属性对其进行注释。在InitializeService中配置访问方法的权限后,您的方法将由客户端调用。有关详细信息,请参阅this documentation