我正在寻找一些有关创建的最佳实践和示例代码的良好链接 休息使用 .NET 的完整 Web 服务。

此外,如果您对 REST 有任何其他意见,我们将不胜感激。

有帮助吗?

解决方案

ADO.Net 数据服务 使它非常容易构建和 消耗 .Net 世界中的 RESTful Web 服务,但理解这些概念仍然很重要。与 WCF(后来添加了 REST 支持)相比,ADO.Net Data Services 主要是为 REST 构建的。

构建 RESTful Web 服务指南 拥有您所需资源的所有信息。

这是另一个有用的 博客条目:

统一接口约束描述了为 Web 构建的服务如何成为 Web 体系结构的良好参与者。这些限制条件简要描述如下:

1)资源识别:资源是可以命名和表示的任何信息项(例如文档、给定时间点的股票价格、拉斯维加斯当前的天气等)。您的服务中的资源应使用 URI 进行标识。

2) 通过表示操作资源:表示是资源的物理表示,并且应该对应于有效的媒体类型。使用标准媒体类型作为服务背后的数据格式,可以让广泛的潜在客户访问您的服务,从而扩大服务的覆盖范围。与资源的交互应该基于对由其 URI 标识的资源表示的检索和操作。

3)自我描述消息:在服务交互中遵循无状态原则,使用标准媒体类型并通过 HTTP 方法使用和控制标头正确指示消息的可缓存性,确保消息具有自描述性。自描述消息使得消息可以由客户端和服务器之间的中介进行处理,而不会影响任何一方。

4)超媒体作为应用状态的引擎:应用程序状态应使用 URI 和超链接来表示,以便在状态之间进行转换。这可能是 中提出的架构约束中最具争议性和最不被理解的。 罗伊·菲尔丁的论文. 。事实上,Fielding 的论文包含了反对使用 HTTP cookie 来表示应用程序状态的明确论据,以强调这一点,但它经常被忽视。

其他提示

Windows 通信基础 从.NET 3.5开始支持REST模型.

您可以在 MSDN 上找到文档和代码示例:

休息和痘痘

学习 REST 的一些资源:

我读过的最好的介绍是 RESTful Web 服务书籍, ,这超出了解释模型和原理的范围,实际上向您展示了如何设计 RESTful Web 服务。最有用的是关于如何编写/指定 REST API 的清单:

  1. 找出数据集[即指定数据模型]。
  2. 将数据集拆分为资源。对于每种资源:
  3. 使用 URI 命名资源。
  4. 公开统一接口的子集[即指定使用哪些 HTTP 方法以及它们的作用]。
  5. 设计从客户那里接受的陈述[例如您可以 PUT 或 POST 的 XML 格式]。
  6. 设计向客户提供的表述[例如您返回的 XML]。
  7. 使用超媒体链接和表单将此资源集成到现有资源中。
  8. 考虑一下典型的事件过程:应该发生什么?[这就像一个用例主要成功场景。]
  9. 考虑错误条件。[这就像用例异常场景。]

文章来自《宁静的网络”系列于 xml.com 是一个很好的介绍。

作者(Atom出版协议名望的乔·格雷戈里奥(Joe Gregorio))也定期发表有关所有事物的洞察文章博客. "RESTify DayTrader“(休息 应用于基准股票交易应用程序的架构)是一个很好的起点。我也喜欢 ”为什么有这么多 Python Web 框架?”,它展示了 Python 中的一个小型 Restful Web 框架的实现。

当我开始开发 REST Web 服务时,我阅读了 Mark Masse 的 REST API 设计规则手册。一旦了解了基础知识和理论,您将能够使用 WCF、HTTPListener 或 ServiceStack 实现 REST。所有这些框架都是 .NET 并且有很好的文档记录......

我会向您推荐服务堆栈(http://www.servicestack.net/),网上有足够的信息可以开始使用。

WCF提供了ASP.NET Web API,它还可以,但我不使用它。

无论如何,今天还没有好的 REST 框架,你必须选择一个你认为易于使用的框架,然后应用你从书中学到的理论。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top