0

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

现在的问题是:我真的需要自己实现IDataServiceActionProvider还是有类似的东西ReflectionDataServiceActionProvider

4

1 回答 1

0

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

您可能想看看使用 Web API 而不是 WCF 数据服务创建 OData 服务;据我了解,使用 Web API 创建动作要容易得多。

Alex 的博客文章中获取的一些快速示例代码来演示简单性:

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

或者,您可以使用 WCF 数据服务来创建“服务操作”,而不是创建 OData 操作,这在某种程度上是 OData 的遗留操作/功能能力。使用 WCF 数据服务创建其中之一非常容易,但请注意,它们将在 OData v4 中完全消失。要创建服务操作,您只需在数据源中创建一个方法并使用WebGetorWebInvoke属性对其进行注释。一旦你配置了访问方法的权限InitializeService,你的方法就可以被客户端调用。有关详细信息,请参阅此文档

于 2013-11-04T03:01:06.797 回答