我正在寻找一些关于使用 .NET 创建REST ful Web 服务的最佳实践和示例代码的良好链接。
此外,您可能对 REST 提出的任何其他意见将不胜感激。
我正在寻找一些关于使用 .NET 创建REST ful Web 服务的最佳实践和示例代码的良好链接。
此外,您可能对 REST 提出的任何其他意见将不胜感激。
ADO.Net Data Servcies使得在 .Net 世界中构建和使用RESTful Web 服务变得非常容易,但是理解这些概念很重要。与 WCF(后来添加了 REST 支持)相比,ADO.Net 数据服务主要是为 REST 构建的。
构建 RESTful Web 服务的指南包含有关您需要的资源的所有信息。
这是另一个有用的博客条目:
统一接口约束描述了为 Web 构建的服务如何成为 Web 体系结构的良好参与者。这些约束简要描述如下:
1) 资源标识:资源是可以命名和表示的任何信息项(例如,文件、给定时间点的股票价格、拉斯维加斯当前的天气等)。您的服务中的资源应使用 URI 进行标识。
2)通过表示操作资源:表示是资源的物理表示,应该对应于有效的媒体类型。使用标准媒体类型作为服务背后的数据格式,可以让广泛的潜在客户访问您的服务,从而扩大服务的覆盖范围。与资源的交互应基于对其 URI 标识的资源表示的检索和操作。
3)自描述消息:遵循服务交互中的无状态原则,使用标准媒体类型并通过HTTP方法使用和控制标头正确指示消息的可缓存性,确保消息是自描述的。自描述消息使得消息可以由客户端和服务器之间的中介处理,而不会影响任何一方。
4)超媒体作为应用程序状态的引擎:应用程序状态应该使用URI和超链接来表示状态之间的转换。这可能是Roy Fielding 论文中提出的架构约束中最具争议性和最不被理解的。事实上,Fielding 的论文包含一个明确的论点,反对使用 HTTP cookie 来表示应用程序状态来强调这一点,但它经常被忽略。
Windows Communication Foundation自 .NET 3.5 起支持 REST 模型。
您可以在 MSDN 上找到文档和代码示例:
学习 REST 的一些资源:
我读过的最好的介绍是RESTful Web 服务这本书,它不仅解释了模型和原理,还实际向您展示了如何设计 RESTful Web 服务。最有用的是它关于如何编写/指定 REST API 的清单:
来自xml.com的“ RESTful Web ”系列的文章是一个很好的介绍。
作者(Joe Gregorio,以 The Atom Publishing Protocol 闻名)还定期在他的 博客上发布有关 REST 的所有内容的有见地的文章。“ RESTify DayTrader ”(应用于基准股票交易应用程序的 REST 架构)是一个很好的起点。我也喜欢“为什么有这么多 Python Web 框架? ”,它展示了一个小型的 RESTful Web 框架在 Python 中的实现。
当我开始开发 REST Web 服务时,我阅读了 Mark Masse 的 REST API 设计规则手册。一旦您了解了基础知识和理论,您将能够使用 WCF、HTTPListener 或 ServiceStack 实现 REST。所有这些框架都是 .NET 并且有很好的文档记录......
我会向您推荐服务堆栈 (http://www.servicestack.net/),网上有足够的信息可以开始使用。
WCF 提供了 ASP.NET Web API,没问题,但我没用。
无论如何,今天没有好的 REST 框架,你必须选择一个你认为易于使用的框架,然后应用你从书中学到的理论。