有关.Net的WCF Rest的知识
2012-04-28 14:50
246 查看
rest,即REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
REST提出了一些设计概念和准则:
1.网络上的所有事物都被抽象为资源(resource);
2.每个资源对应一个唯一的资源标识(resource identifier);
3.通过通用的连接器接口(generic connector interface)对资源进行操作;
4.对资源的各种操作不会改变资源标识;
5.所有的操作都是无状态的(stateless)。
对于当今最常见的网络应用来说,resource identifier是url,generic connector interface是HTTP,第4条准则就是我们常说的url不变性。这些概念中的resouce最容易使人产生误解。resouce所指的并不是数据,而是数据+特定的表现形式(representation),这也是为什么REST的全名是Representational State Transfer的原因。举个例子来说,“本月卖得最好的10本书”和“你最喜欢的10本书”在数据上可能有重叠(有一本书即卖得好,你又喜欢),甚至完全相同。但是它们的representation不同,因此是不同的resource。
REST之所以能够简化开发,是因为其引入的架构约束,比如Rails 1.2中对REST的实现默认把controller中的方法限制在7个:index、show、new、edit、create、update和 destroy,这实际上就是对CURD的实现。更进一步讲,Rails(也是当今大部分网络应用)使用HTTP作为generic connector interface,HTTP则把对一个url的操作限制在了4个之内:GET、POST、PUT和DELETE。
REST之所以能够提高系统的可伸缩性,是因为它强制所有操作都是stateless的,这样就没有context的约束,如果要做分布式、做集群,就不需要考虑context的问题了。同时,它令系统可以有效地使用pool。REST对性能的另一个提升来自其对client和server任务的分配:server只负责提供resource以及操作resource的服务,而client要根据 resource中的data和representation自己做render。这就减少了服务器的开销。
Android系统与wcf Rest操作相关:
http://msdn.microsoft.com/zh-cn/library/cc656724.aspx
http://msdn.microsoft.com/zh-cn/library/bb412169.aspx
博客园:
/article/5196095.html
/article/5485007.html
配置传值XML,Json
http://www.cnblogs.com/apiaceae/archive/2010/04/25/1720843.html#commentform
一个简单的REST服务实例
其他文章:
[01]
一个简单的REST服务实例
[02]
WebHttpBinding与消息编码
[03]
Web消息主体风格(Message Body Style)
[04]
帮助页面与自动消息格式(JSON/XML)选择
[05]
WebServiceHost有何特别之处?
[06]
UriTemplate、UriTemplateTable与WebHttpDispatchOperationSelector
[07]
通过ASP.NET Output Caching实现声明式缓存
[08]
提高性能的一个有效的手段:条件资源获取(Conditional Retrieval)
[09]
解决资源并发修改的一个有效的手段:条件更新(Conditional Update)
http://mobile.51cto.com/android-245534.htm
通过url载入xml文档
REST提出了一些设计概念和准则:
1.网络上的所有事物都被抽象为资源(resource);
2.每个资源对应一个唯一的资源标识(resource identifier);
3.通过通用的连接器接口(generic connector interface)对资源进行操作;
4.对资源的各种操作不会改变资源标识;
5.所有的操作都是无状态的(stateless)。
对于当今最常见的网络应用来说,resource identifier是url,generic connector interface是HTTP,第4条准则就是我们常说的url不变性。这些概念中的resouce最容易使人产生误解。resouce所指的并不是数据,而是数据+特定的表现形式(representation),这也是为什么REST的全名是Representational State Transfer的原因。举个例子来说,“本月卖得最好的10本书”和“你最喜欢的10本书”在数据上可能有重叠(有一本书即卖得好,你又喜欢),甚至完全相同。但是它们的representation不同,因此是不同的resource。
REST之所以能够简化开发,是因为其引入的架构约束,比如Rails 1.2中对REST的实现默认把controller中的方法限制在7个:index、show、new、edit、create、update和 destroy,这实际上就是对CURD的实现。更进一步讲,Rails(也是当今大部分网络应用)使用HTTP作为generic connector interface,HTTP则把对一个url的操作限制在了4个之内:GET、POST、PUT和DELETE。
REST之所以能够提高系统的可伸缩性,是因为它强制所有操作都是stateless的,这样就没有context的约束,如果要做分布式、做集群,就不需要考虑context的问题了。同时,它令系统可以有效地使用pool。REST对性能的另一个提升来自其对client和server任务的分配:server只负责提供resource以及操作resource的服务,而client要根据 resource中的data和representation自己做render。这就减少了服务器的开销。
Android系统与wcf Rest操作相关:
实例:在Android调用WCF服务
在Android开发中调用Rest web服务
微软MSDN的:http://msdn.microsoft.com/zh-cn/library/cc656724.aspx
http://msdn.microsoft.com/zh-cn/library/bb412169.aspx
博客园:
/article/5196095.html
/article/5485007.html
实例:在Android调用WCF服务
使用WCF 4.0 构建 REST Service配置传值XML,Json
http://www.cnblogs.com/apiaceae/archive/2010/04/25/1720843.html#commentform
一个简单的REST服务实例
WCF REST 工作总结(一)
WCF REST 工作总结(二)其他文章:
[01]
一个简单的REST服务实例
[02]
WebHttpBinding与消息编码
[03]
Web消息主体风格(Message Body Style)
[04]
帮助页面与自动消息格式(JSON/XML)选择
[05]
WebServiceHost有何特别之处?
[06]
UriTemplate、UriTemplateTable与WebHttpDispatchOperationSelector
[07]
通过ASP.NET Output Caching实现声明式缓存
[08]
提高性能的一个有效的手段:条件资源获取(Conditional Retrieval)
[09]
解决资源并发修改的一个有效的手段:条件更新(Conditional Update)
Android 短信助手 (WCF + Android) (1)
Android 短信助手 (WCF + Android) (2)http://mobile.51cto.com/android-245534.htm
通过url载入xml文档
using (WebClient wc = new WebClient()) { using (Stream s = wc.OpenRead("http://www.meituan.com/api/v1/divisions")) { using (StreamReader sr = new StreamReader(s)) { string str = sr.ReadToEnd(); Response.Write(str); } } }
相关文章推荐
- WCF系列之.net(3.0/3.5)Rest使用示例
- 有关.NET中序列化的一些知识
- 转载的点有关.net(C#)的基础知识,备用
- 有关.NET中序列化的一些知识
- 黑马程序员_有关.NET的基础知识分享
- 清新空气---我的.net(C#)生涯知识总结 跨CSS,JS,JAVA,AJAX,WPF,WCF,LINQ,ASP.NET,Winform,Sqlserver,Mysql,EF,OOP,开发工具等
- 有关.NET中序列化的一些知识
- 有关.NET中序列化的一些知识
- 有关.NET中序列化的一些知识
- WCF学习问题之“net.tcp://localhost/service/”不支持正在使用的 .Net 组帧模式。有关详细信息,请参见服务器日志。
- WEBAPI VS WCF微软随.NET 4.5发布新REST API框架
- 有关.NET中序列化的一些知识 [转]
- 有关.NET中序列化的一些知识
- .NET2.0中有关加密解密的知识
- [导入]有关.NET中序列化的一些知识
- 有关.NET中序列化的一些知识(转帖)
- WCF:“net.tcp://localhost:8001/MemberShips”不支持正在使用的 .Net 组帧模式。有关详细信息,请参见服务器日志。
- C#2008与.NET 3.5 高级程序设计读书笔记(25)-- WCF
- WCF Rest
- WCF实现REST