用于管理 API 的 ADO.NET 数据服务 (OData)
我们使用 ADO.NET 数据服务来公开应用程序中的数据。
虽然我知道我可以在我的服务上执行插入/更新并公开方法,但我想知道 OData 是否真的适合管理 API(比数据驱动更实用)?
例如,我们需要能够使用简单的 API 来管理应用程序的运行实例。我们可能有如下方法:
- GetInstances() - 返回正在运行的实例列表
- RestartInstance(string id) - 重新启动实例
如果可能的话,我宁愿不使用 SOAP,因为我希望能够从任何客户端使用 API。
谢谢 本
We are using ADO.NET Data Services to expose data from our application.
Whilst I know that I can perform inserts/updates and expose methods on my service, I wondered whether OData is really suited for a management API (more functional than data driven)?
For example, we need to be able to manage running instances of our application using a simple API. We are likely to have methods like:
- GetInstances() - returns list of running instances
- RestartInstance(string id) - restarts an instance
I would prefer not to use SOAP if possible as I want to be able to work with the API from any client.
Thanks
Ben
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 WCF REST 服务,它是面向操作的(WCF 数据服务是面向数据的),并且仍然支持 REST 调用,这应该允许任何类型的客户端轻松使用:
http://msdn.microsoft.com/en-us/netframework/cc950529
您也可以将两者结合起来,尽管不是在一个端点中。但是,您可以让一个端点使用 WCF 数据服务来允许轻松查询数据(甚至可能是只读端点),并让另一个端点使用 WCF REST 服务来应用操作。
You can use WCF REST Service, which is action oriented (WCF Data Service is data oriented) and still supports REST invocation which should allow easy enough consumption from any kind of client:
http://msdn.microsoft.com/en-us/netframework/cc950529
You could also combine the two, although not in a single endpoint. But you could have one endpoint using WCF Data Services to allow easu querying of the data (maybe even a read-only endpoint) and have another endpoint using WCF REST Service to apply actions.