我有一个WCF Data service
,它使用反射提供程序来公开数据上下文。现在我需要实现一些简单的服务方法(有所有操作。它们没有返回值)。我在谷歌做过一些研究,也发现了很多帖子。
但我从来没有找到像IDataServiceActionProvider
的默认实现那样的东西,例如使用属性或类似的东西。
现在的问题是:
我是否真的需要自己实施IDataServiceActionProvider
,还是有类似ReflectionDataServiceActionProvider
的内容?
答案 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中完全消失。要创建服务操作,只需在数据源中创建一个方法,并使用WebGet
或WebInvoke
属性对其进行注释。在InitializeService
中配置访问方法的权限后,您的方法将由客户端调用。有关详细信息,请参阅this documentation。