最近在学习wcf和Rest,把博客园相关的文章做一整理,也是自己对wcf,Rest越来越深入的总结,大家在找资料时可以更方便
HttpClient + ASP.NET Web API, WCF之外的另一个选择
使用微软的新框架WebApi
这篇文章的特点在我看来是提供了自定义客户端数据对rest服务端调用的实例,即使用webclient 发送自定义的数据到rest服务服务端。
传统的wcf应用程序在客户端会生成一个代理类,服务端与调用方可以共同遵守一些数据约定,比如实体类
在rest形势下,暴露给调用方的只有url ,get访问比较好处理,网上大部分基于wcf的rest服务端例子在创建好服务后,都直接使用地址栏get方式访问 。但是如果双方传输的是一个是实体类等自定义数据,必定需要post方式或者其它非url处理方法,如rest服务是以post形式约定,暴露给客户端,而客户端引用rest不会生成代理类,这种情况下post提交就要借助于webclient或者webrequest来组织自定义数据。
这篇文章由浅入深,讲述了怎么样安装开发rest的模版,主要会生成rest uritemlate结构 WebGetAttribute、WebInvokeAttribute属性之类的。特别方便,随后又讲述了客户端调用rest服务的3种方法。
这篇文章通过对比,介绍了新的实现Rest服务的方式Web Api,比传统的Wcf实现更加简单,同时列出了关于Web Api的一些资源
这里有 web Api网站 需要MVC4
【ASP.NET Web API教程】ASP.NET Web API系列教程目录
中英文对照读本,很好的web api学习博客
Web Api :用来在.NET平台上建立HTTP服务的Web API框架
WCF Web API 说再见,继承者ASP.NET Web API
我的理解:接触到web api让我想到利用.net可以方便的实现比较灵活的企业开放平台。服务端和服务端都比较简洁.
WebApi用的是Http协议,另外WebApi的扩展性更强,更灵活,性能要更好
关于rest的总结
1 构建REST架构风格的WCF中我们使用的协议为webHttpBinding,与之对应的是webHttpBehavior
2 从 .NET 3.5 开始 支持绑定类型 wehttpBinding
这篇文章介绍了web端测试rest服务的方法,其实通过火狐的web控制台和firebug也同样可以测试,多种方法吗,多种选择
这篇文章不属于cnblogs,的确提供了一种简易的rest验证实现思路。
以下是WCF REST一些补充
1 WCF REST 和基于SOAP的服务契约定义不同,我们无需在相应的操作方法上面应用OperationContractAttribute特性,但是应用在接口/类上的ServiceContractAttribute特性仍是必需的
[ServiceContract(Namespace="http://www.artech.com/")] 2: public interface IEmployees 3: { 4: [WebGet(UriTemplate = "all")] 5: IEnumerable<Employee> GetAll(); 6: 7: [WebGet(UriTemplate = "{id}")] 8: Employee Get(string id); 9: 10: [WebInvoke(UriTemplate = "/", Method = "POST")] 11: void Create(Employee employee); 12: 13: [WebInvoke(UriTemplate = "/", Method = "PUT")] 14: void Update(Employee employee); 15: 16: [WebInvoke(UriTemplate = "{id}", Method = "DELETE")] 17: void Delete(string id); 18: }
WebHttpBehavior可以说是整个Web HTTP编程模型的核心,绝大部分针对Web的支持都是通过该行为实现的。实际上服务端终结点通过WebServiceHost应用了这个终结点行为