《WCF和ASP.NET Web API在应用上的选择》 。...,显然和WCF是明显不同的路线。...ServiceStack和WCF相同。 WCF 需要何数据对象和数据成员打上标记; 否则,WCF 简单地忽略它们。 这是 ServiceStack 和 WCF 与的不同的地方。...ServiceStack 支持不同的操作,如有 Get 和 Post。 您的选择在这里仅影响的 HTTP 请求。...指定任何 Web 服务请求是指可以通过 HTTP GET 和 HTTP POST 调用操作。 这种强制措施,简化了 rest 风格的 Web 服务实现。
由于个人技术水平和英文水平也是有限的,因此错误在所难免,希望大家多多留言指正。 Q1. 什么是REST? Ans....客户端初始化请求到服务器,服务器负责处理请求并返回响应。 这些请求和响应都是围绕这些资源的表示形式进行传递。 Q2. 解释下REST原则? Ans....任何会话类型的数据应该在客户端保存和处理,只有在每次请求中按需传递到服务器。 Cacheable(可缓存) - 客户端应该能够缓存响应以供后续使用。 Q3. REST和 SOAP间的区别是什么?...WCF Rest 将WCF 作为 WCF Rest 服务使用,您必须启用 webHttpBindings....在WCF 和 WEB API之间如何选择? Ans.
Visual Studio Code: 免费的跨平台编辑器,可以编译和调试现代的Web和云应用。 ASP.NET Fiddler: 能够捕获 http 请求/响应来模拟请求行为。...WCF SOAP UI: API 测试工具,支持所有标准的协议和技术。 WireShark:UNIX和Windows系统的网络协议分析器。...Svc Config Editor: 用于管理WCF相关配置的图形化界面工具。...Javascript/JQuery/AngularJS JSHint: JavaScript代码质量监控工具,定义了很多非常严格的规则。...BugShooting: 屏幕截图软件,能够铺货和附加工作项,bug,问题跟踪项等。 Postman: REST 客户端,能够发送http请求,分析REST 应用程序发出的响应。
REST API Swagger UI:API 测试和文档工具。[视频] PostMan:REST 客户端 Chrom 扩展程序。 [由 Cheung Tat Ming提供] 4....WCF SOAP UI:API 测试工具,支持所有标准协议和技术。 WireShark:这是一个针对 Unix 和 Windows 的网络协议分析仪。...SvcTraceViewer:可以更好地查看由 WCF 产出的巨大跟踪文件。 Svc Config Editor:用于管理 WCF 相关配置的 GUI 工具。 5....Batarang:添加工具用于调试和分析 AngularJS 应用程序。 9. SQL 服务器 SQL Profiler:SQL 跟踪用来监测数据库引擎实例。...这包括请求数据(例如 HTTP 响应头和表单 GET 和 POST 数据)和响应数据(包括 HTTP 响应头和正文)。 14. 诊断 Glimpse:提供服务器端诊断数据。
所谓ASP.NET WebAPI,其核心概念就是构建REST风格的Web服务,把一起数据视为资源,无论是服务请求或者是数据操作,与以前的SOAP和XML-RPC架构风格有很大不同。...说道这,很多读者可能想到WCF中不是早都有了REST风格的服务么,为什么还需要这个WebAPI?...关于这一块,有一个问题困扰了我很久,就是KnockoutJS和AngularJS谁的适用性更强,其实它们没有可比性,KnockoutJS只提供了部分的工作。...http://blog.darkthread.net/post-2014-06-07-go-to-angularjs.aspx 说到这,我还想到了学习中的一个困惑,那么多的IOC框架到底哪个相对更好一些...HttpControllerDispatcher负责最后对请求做最后的处理,包括对ApiController的激活和目标Action的执行等操作,用下表简述该过程: 行为 简介 HttpController
使用 AngularJS 的 $resource 连接 WebAPI Controller ASP.NET Web API 是 .NET 平台创建 REST 风格的 HTTP 服务的理想框架, REST...风格的 HTTP 服务可以被多种客户端使用, 包括浏览器和移动设备, 使用 REST 风格的 HTTP 服务也越来越多。...由于 REST 服务的逐渐流行, 越来越多的客户端类库都提供了 REST 服务的专用类库, AngularJS 也不例外, 提供了 $resource 来实现 REST 服务的支持。...接下来就介绍如何使用 AngularJS 的 $resource 对接 ASP.NET Web API 创建的 REST 服务。...提供了 resource 服务来创建具有高级行为的对象和 REST 服务交互, 从而不需要在使用底层的 http 服务。
dudu的 HttpClient + ASP.NET Web API, WCF之外的另一个选择 讨论的人很多,说明RESTful API也开始在.NET 社区中得到重视,其中的回复有很多对REST不正确的观点...或许大家手边的.NET系统整合都还是使用WCF(甚至Web Service)进行跨主机沟通,但是当微软在ASP.NET MVC 4 Beta里也开始推广REST架构的ASP.NET Web API。...REST理论的中文详述,其中你可以了解到WCF Restful属于RPC 样式的 Web 服务,ASP.NET Web API属于RESTful Web 服务。...REST 谈论一件非常重要的事,如何正确地使用 Web标准,例如,HTTP 和 URI。想要了解 REST 最好的方式就是思索与了解 Web 及其工作方式。...我们知道,通过 URL 可以传送 GET 请求,在 表单指定 method="GET|POST" 来送出请求。但我们要处理 PUT 或 DELETE 的请求呢?
相较 WCF、WebService 使用 SOAP、WSDL、WS-* 而言,几乎所有的语言和网络平台都支持 HTTP 请求。...WCF 3.5 引入了 WebGetAttribute、WebInvokeAttribute、UriTemplate 来增加对 REST 的支持,这使得我们用很简单的方式就可以实现 RESTful WCF...可参考以下几篇文章: 《深入浅出REST》 : 作者 Stefan Tilkov译者 苑永凯 《Web 编程模型》 : MSDN文档 《使用 WCF 和 .NET Framework 3.5 进行 HTTP...编程》 : Justin Smith 《Twitter WCF Client》 下面我们来看一个简单的例子: [ServiceContract] public interface IService {... Console.WriteLine(""); Console.WriteLine("Calling EchoWithPost by HTTP POST
他们还可以利用网络的高速缓存和代理的基础设施,通过提供适当的控制和实体头的方式,在下个版本的WCF(.NET 4.5)设计了RESTful风格的,并不强制开发人员使用Rest的应用程序,你的应用程序可以从...REST风格获得可发现、演化性和可扩展性。...调度 - 调度程序是为当前HTTP请求路由到HTTP服务实例和服务方法上的责任。服务和方法的基础上匹配的URI和HTTP方法(GET,POST,PUT,DELETE等)。...在我们开发新的WCF HTTP版本可以直接访问底层的HTTP请求,并通过操作,而不是通过像WebOperationContext静态API的参数响应。...新的请求和响应测试友好使服务更容易单元测试。 *对于那些熟悉WCF,这可能类似于您对我们以前的版本中看到图。主要区别在于,在各个层次的组成部分,现在具体到HTTP。
前言 首先我们来了解一下WCF Rest吧。 Rest是一种设计风格,不是一个标准。 Rest通常使用HTTP,URI,XML,HTML等流行的协议和标准。...Rest对资源的操作类型通常包括:获取,创建,删除和修改,这四种操作分别对应着HTTP协议请求的GET,POST,DELETE和PUT方法。 资源的表现形式可以为:XML,HTML,JSON的文本。...Rest在Asp.Net Mvc中的使用 第一步:先来创建一个Asp.Net Mvc3.0的Web项目。 第二步:创建一个类库,然后添加一个接口和实现。 ...; case"2": return "Hello Asp.Net Mvc3.0 WCF Rest!"...; case"2": return "Hello Asp.Net Mvc3.0 WCF Rest!"
REST风格体现在URL设计上: 每个URL对应一个资源 对资源的不同操作对应于HTTP的不同方法 资源表现形式(representation)通过Accept和Content-Type指定 符合REST...对资源的操作:Web服务在该资源上所支持的一系列请求方法(比如:POST,GET,PUT或DELETE)。...about AngularJS....We will cover how to build", // "blogText": "This is a blog post about AngularJS....post we will learn how to build applications based on REST web services that contain most of the business
这种模糊的REST和XML-RPC(或JSON-RPC等)界限,对实践造成了一些非常严重的后果。...) REST vs RPC REST不是像WCF这样的框架,HTTP这样的协议,JAX-RS这样的框架,SOAP这样的通信格式。...-相反,REST API将问题域中的各种实体建模为资源,并使用HTTP谓词来表示针对这些资源的事务 - POST创建,PUT更新和GET读取。 在同一URL上用不同的HTTP请求都提供不同的功能。...:资源对象要被描述 使用或采取行动----同一个url的get,put,del,post请求返回的对象一致 不是客户端和服务器之间通信的实现细节---不需要RPC那样返回操作结果 3.RESTful...---使用http的状态码来描述请求状态而不是自定义code 例如这种常见的返回对象是不符合RESTful API的 { code:001 message:密码错误 data:{ }
无状态 每个发向服务器的请求都应该带有理解完成请求所需的全部信息 可缓存 返回的数据能够缓存以便于用户再其他时间调用,这能够提升性能并且减少网络通信。...统一接口 统一的接口 (如 HTTP HTTP GET, POST, DELETE, PUT) 用于访问资源。...有许多可以和REST配合使用的数据格式,xml是最简单也是用的最多的。但是json也常常用到。....NET 4 / REST / WCF WCF并非仅仅能用来否剑SOAP服务,他是一个具有通用编程模型并且完全基于插件的通信基础框架。...WCF运行时的基础工作是监听处理来自网络位置的消息,并将他们传递给应用程序(服务),使用WCF开发REST应用程序是一项简单的任务。
2)扩展 REST 鼓励每项资源包含处理特殊请求所需的所有必要状态。满足这一约束时,RESTful 服务更易于扩展且可以没有状态。...3)副作用如您使用 GET 请求资源,RESTful 服务应该没有副作用(遗憾的是,与其他一些 REST 约束相比,这一约束更容易被打破)。...对我而言,使用 REST 的简易性涉及到代表资源的 URI 和统一接口。...WCF 4的REST创建可以下载模板 WCF REST Service Template 40(CS),具体参考 Getting started with RESTful web services in...WCF 4。
在请求和相应的DTO对象中添加字段,不会破坏旧的客户端。 在WCF中RPC和DTO风格的WebService均支持,但是在ServiceStack中仅支持DTO风格。...这是ServiceStack和WCF不一样的地方。...ServiceStack中的服务方法名为Any,Get以及Post,这也是ServiceStack支持的请求类型,Any表示服务可以通过HTTP Get和HTTP Post两种方式调用。...在ServiceStack中,方法和方法之间的区别是通过服务的参数及请求对象Request DTO来区分的,而不是像WCF中通过方法名称来区分。...比如,如果我们想使用WCF中使用的Soap11来请求,只需如下代码: static void Main(string[] args) { Console.Title = "ServiceStack
,还是基于RPC风格的,因为 REST 的工作原理有所不同,它不需要依赖 SOAP 协议,因此 WCF 消息管道对于它经过了特殊的消息优化。...但 REST 集成在 WCF 消息管道上还是不理想,所以微软重新开始构造基于Http 协议特点的RESTful的Web API, 从2010年10月份开始把代码放在codeplex上http://wcf.codeplex.com...几个月之前WCF和ASP.NET 团队合并,把WCF Web API的内容并入了ASP.NET Web API,目前WCF Web API的所有功能并没有完成移植,将在ASP.NET Web API正式发布的时候完成移植...ASP.NET MVC的特性,例如他完全支持MVC风格的Routes和Filters,Filters在授权和异常处理方面是特别有用。...Web API支持Model Binding和验证(.NET4.5的WebForm也支持哦)。Web API框架内部自动支持XML和JSON格式,用户可以自行开发其他类型的超媒体类型。
REST的支持有点晚,自.NET3.5开始,WCF也可以提供RESTful接口。...REST常用的四种HTTP命令,GET、DELETE、PUT和POST,对于GET和DELETE,一个是获取资源,一个是删除资源,没什么异议,问题是PUT和POST,两者都有更改指定URI的语义,那么,...有的观点认为,应该用POST来创建一个资源,用PUT来更新一个资源;有的观点认为,应该用PUT来创建一个资源,用POST来更新一个资源;还有的观点认为可以用PUT和POST中任何一个来做创建或者更新一个资源...blog名字,往这个URI发送一个HTTP PUT或者POST请求,HTTP的body部分就是博文,这是一个很简单的REST API例子。...取决于这个REST服务的行为是否是idempotent的,假如我们发送两个http://superblogging/blogs/post/Sample请求,服务器端是什么样的行为?
REST端点用于集成应用程序或服务器端向客户端提供服务。在本文中,将介绍基于CRUD的SpringBoot来设计和实现REST端点。...HTTP提供了一些标准方法,如GET,PUT,POST或OPTIONS等。所有这些方法都有助于设计简单的REST端点,因为这是标准的,所以每个人都可以理解它们。 GET GET方法用于访问资源。...当客户端请求无效或不存在的“id”时,我们可以使用标准HTTP响应代码,而不是使用自定义正文或错误消息进行响应。HTTP响应代码是REST中用于通知处理状态的标准方式。...200 - 确定:已成功处理请求。 POST 此方法用于创建新数据记录。此请求的端是/ customers。数据作为正文的一部分发送,因此不需要请求参数。...- BAD REQUEST:如果数据存储中不存在id,那么这是一个错误的请求。
二、RESTFul设计风格 1、Rest与RestFul REST(英文:Representational State Transfer,简称REST),表述性状态转移,指的是一组架构原则。...(项目中资源通常都是指的数据表的一条数据) URI(Uniform Resource Identifier):统一资源标志符,包含URL和URN。...id=100 2)HTTP动词(请求方式) 对于资源, 一般有4个操作, CURD(增/删/改/查) GET: 从服务器获取资源(一项或多项) POST: 在服务器新建一个资源 PUT: 在服务器更新资源...常见状态码: 状态码 含义 说明 200 OK 操作成功, 并返回数据 201 CREATED 新建成功 204 NO CONTENT 删除成功 400 BAD REQUEST 请求语法错误 403 Forbidden...(internal server error)- 通用错误响应 503 (Service Unavailable)- 服务端当前无法处理请求 5)错误信息 如果状态码是4xx或者5xx, 需要告诉客户端对应的错误信息
REST允许通过简单的URL(而不是复杂的请求主体或POST参数)与基于web的系统交互。...(4)防止跨站点请求伪造 对于RESTful Web服务公开的资源,重要的是确保任何PUT,POST和DELETE请求都受到防止跨站点请求伪造的保护。 通常,使用基于令牌的方法。...当设计REST API时,不要只使用200成功或404错误。 以下是每个REST API状态返回代码要考虑的一些指南。 正确的错误处理可以帮助验证传入的请求,并更好地识别潜在的安全风险。...200 OK -回应一个成功的REST API的行动。HTTP方法可以是GET,POST,PUT,PATCH或DELETE。 400错误请求 -请求格式错误,如消息正文格式错误。...概要 在这篇文章中,介绍了5个RESTful API安全问题和如何解决这些问题的指南。遵循这些准则将导致更安全和高质量的REST API服务和更多的开发人员友好的REST API。
领取专属 10元无门槛券
手把手带您无忧上云