不扯淡,还是来聊正经事,什么正经事勒?对于程序员来说,当然代码才是正经事了。 在我们的项目开发中,很多时候需要使用到多系统的数据交互,以及一些功能的分布式开发。...一.WebApi概述: ASP.NET Web API是在.NET Framework之上构建的Web的API的框架,ASP.NET Web API是一个编程接口,用于操作可通过标准HTTP...我们在学习ASP.NET Web API时,需要对HTTP协议、web知识有一个比较深入的认识,这样在学习ASP.NET Web API时会比较快速的上手和应用。...ApiController是ValuesController类的父类,是整个ASP.NET Web API的核心类,继承该类可以用来创建ASP.NET Web API控制器。...四.总结: 以上是对ASP.NET Web API背景和使用方法,以及对ASP.NET Web API核心对象的简要介绍,下篇会主要介绍HttpRequestMessage、HttpResponseMessage
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文参考链接文章地址http...Data Annotations——数据注解 在ASP.NET Web API中,你可以使用System.ComponentModel.DataAnnotations命名空间的注解属性来设置模型属性的验证规则...此时模型的状态是有效的,因为零是这些属性的有效值。这是否是一个问题取决于你所处的场景。例如,在一个更新操作中,你可能希望区分出“零”与“未设置”。...API并不会自动地将错误返回给客户端。...API,可以使用HttpError类将验证错误返回给客户端。
在《通过扩展让ASP.NET Web API支持W3C的CORS规范》中,我们通过自定义的HttpMessageHandler自行为ASP.NET Web API实现了针对CORS的支持,实际上ASP.NET...ASP.NET Web API提供针对CORS的支持,我们直接将其应用到《同源策略与JSONP》创建的演示实例中。...CORS系列文章 [1] 同源策略与JSONP [2] 利用扩展让ASP.NET Web API支持JSONP [3] W3C的CORS规范 [4] 利用扩展让ASP.NET Web API...支持CORS [5] ASP.NET Web API自身对CORS的支持: 从实例开始 [6] ASP.NET Web API自身对CORS的支持: CORS授权策略的定义和提供 [7] ASP.NET...Web API自身对CORS的支持: CORS授权检验的实施 [8] ASP.NET Web API自身对CORS的支持: CorsMessageHandler
Web API 的开发类似于 ASP.NET MVC 中控制器的开发,但是相对于直接使用 ASP.NET MVC 来返回 Json 对象的方式而言,Web API 封装了数据的序列化、反序列化,接口、实现都更加简单...跟 ASP.NET MVC 的 Json 序列化不同的是,Web API 使用了 Newtonsoft.Json 框架来进行序列化。...而且,如果不期望修改返回值类型而直接返回 HttpResponse 时,可以使用 HttpResponseException 间接返回一个 HttpResponseMessage。...username=hqf@qq.com&password=dsd 关于 POST 参数绑定 Web API 相对于 ASP.NET MVC,使用了新的参数绑定类。...不错的示例代码 MSDN 上有一个比较全面的示例代码: http://code.msdn.microsoft.com/ASPNET-Web-API-JavaScript-d0d64dd7
ASP.NET 5提供了三种运行时,你可以根据实际需要灵活选择: 1. 全功能.NET CLR 全功能.NET CLR 是Visual Studio工程默认运行时状态。...它提供所有 API,是保持应用向下兼容性最佳选择。 2. 核心CLR (cloud-optimized runtime) 核心 CLR 是精简的完全模块化运行时。...合并MVC, Web API 和Web 页 早期版本中, MVC、Web API 和Web 页一直在使用着不同的方式实现着相同的功能,可以说是殊途同归。...在 ASP.NET 5 中, MVC、Web API和and Web 页将被整合到同一框架-MVC 6。这就意味着移除了重复功能模块,使开发应用变得更简单。...微软提供 API Portability Analyzer 工具可以判断当前应用是否可以使用核心CRL。这个工具还可以分析当前应用可以运行在哪些平台,以及哪些因素阻止其不能在特定平台上运行。
创建一个Web API项目 第一步,创建以下项目 ? 当然,你也可以创建一个Web API项目,利用 Web API模板,Web API模板使用 ASP.Net MVC提供API的帮助页。...包含以下内容: 响应代码:在默认情况下,这个Web API框架设置响应状态码为200(OK)。...默认情况下,ASP.NET Web API框架从路由获取简单的参数类型,从请求正文获取复杂的类型。 第五个方法:删除产品,在控制器添加代码如下。...在这种情况下,DeleteProduct方法具有void返回类型,因此ASP.NET Web API自动转换此状态代码204(无内容) 运行测试 方法创建完毕后我们就可以运行服务端进行测试了 ? ...上述测试我们发现我们的路由只是“api/{controler}”就成功返回了GetProducts方法中的数据,这也是ASP.NET Web API与ASP.NET MVC 之间的区别。
在ASP.NET Web API的应用编程接口中,资源授权检验的结果通过类型CorsResult来表示。...对于ASP.NET Web API来说,CORS资源授权检验实施的目标是表示当请求的HttpRequestMessage对象,这个对象自然不可能使用在ASP.NET的核心CORS引擎中。...三、CorsEngine 我们说ASP.NET 的核心CORS引擎定义在程序集System.Web.Cors.dll中,它主要体验为这个名为CorsEngine的对象,其主要的使命在于:根据提供的资源授权策略...Web API支持JSONP [3] W3C的CORS规范 [4] 利用扩展让ASP.NET Web API支持CORS [5] ASP.NET Web API自身对CORS的支持: 从实例开始...[6] ASP.NET Web API自身对CORS的支持: CORS授权策略的定义和提供 [7] ASP.NET Web API自身对CORS的支持: CORS授权检验的实施 [8] ASP.NET
虽然ASP.NET Web API框架采用与ASP.NET MVC框架类似的管道式设计,但是ASP.NET Web API管道的核心部分(定义在程序集System.Web.Http.dll中)已经移除了对...也就是说,ASP.NET Web API核心框架的URL路由系统与ASP.NET本身的路由系统是相对独立的。...另一个同样通过字典类型表示的只读属性DataTokens,我们应该不会感到陌生,至于通过制度属性Handler返回的HttpMessageHandler对象是组成ASP.NET Web API消息处理管道的核心...我们对ASP.NET Web API的请求处理管道所做的所有配置基本上都是通过一个类型为HttpConfiguration的对象来完成,而路由注册自然也不例外。...Web API管道的HttpConfiguration对象,这依赖于我们对Web API的寄宿方式,这并没有定义在ASP.NET Web API的核心框架之中。
ASP.NET Core Web API 中如何去使用,不会做过多的详细介绍。...5、构建符合 Restful 风格的接口 在没有采用 Restful 风格来构建接口返回值时,我们可能会习惯于在接口返回的信息中添加一个接口是否请求成功的标识,就像下面代码中示例的这种返回形式。...在 ASP.NET Core Web API 中,我们可以通过在 Action 上添加 ProducesResponseType 特性来定义接口的返回状态码。...当然,当接口的 HTTP 返回状态码为 400 时,最终还是会返回我们自定义的错误信息对象,所以这里为了不造成前后端对接上的歧义,我们最好将返回的对象信息也作为参数添加到 ProducesResponseType...同时,除了上面示例的接口中通过返回 OK 方法和 BadRequest 方法来表明接口的返回 HTTP 状态码,在 ASP.NET Core Web API 中还有下列继承于 ObjectResult
它是 ASP.NET 平台的核心部分。能被MVC或者其他类型的web应用使用。同时它也可以用作独立的web服务应用程序。...ASP.NET WEB API 功能 它支持基于约定的CRUD操作因为它支持HTTP 动词 GET, POST, PUT , DELETE。 响应包含http状态码和Accept header。...主要有以下区别: ASP.NET MVC 用来创建web应用返回视图和数据;但是ASP.NET WEB API 是用来创建完整的HTTP服务,仅返回数据无视图返回。...WEB API 的请求映射到Http动词对应的action;MVC 的请求直接映射到对应的action name。 ASP.NET WEB API是新的框架和ASP.NET框架核心的一部分。...与ASP.NET MVC不同,WEB API仅能返回数据,返回的数据格式可以为string,json,xml,text等。 Q10.
框架 Web套接字 Windows服务 工作流程 路线图 入门套件 示例项目 用品 图书 备忘单 影片 播客 社区 一般 ASP.NET核心文档 – 官方ASP.NET核心文档站点。...清洁代码.NET / .NET核心 – 适用于.NET / .NET Core的清洁代码概念。 框架,库和工具 API autorest -扬鞭(OpenAPI的)规范码发生器设有C#和剃刀模板。...4.5.x or above aspnet-api-versioning – 将服务API版本添加到ASP.NET Web API,使用ASP.NET Web API的OData和ASP.NET Core...ASP.NET MVC – 用于构建动态Web站点的模型视图控制器框架,包括合并的MVC,Web API和带Razor的Web页面。...stateless – 用于在C#代码中创建状态机的简单库。 软件开发工具包 AWS开发工具包 – Amazon Web Services(AWS).NET Core SDK组件。
当页面加载时,JavaScript代码会向后端发送一个GET请求,并将返回的数据显示在页面上。...而AJAX技术允许在不刷新整个页面的情况下,通过JavaScript在后台发送HTTP请求,然后处理服务器返回的数据,并更新页面的一部分内容。...设置后端API端点 首先,您需要在ASP.NET Core应用程序中设置一个API端点,用于处理AJAX请求并返回数据。...首先,您需要创建一个ASP.NET Core Web API项目。...4.3 示例:使用ASP.NET Core创建一个简单的RESTful API,并在前端调用 创建ASP.NET Core Web API 项目 首先,您需要创建一个ASP.NET Core Web
构成ASP.NET Web API核心框架的消息处理管道既不关心请求消息来源于何处,也不需要考虑响应消息归于何方。...当我们采用Web Host模式将一个ASP.NET应用作为目标Web API的宿主时,实际上是由ASP.NET管道解决了这两个问题。...具体来说,ASP.NET自身的URL路由系统借助于HttpControllerHandler这个自定义的HttpHandler实现了ASP.NET管道和ASP.NET Web API管道之间的“连通”,...[本文已经同步到《How ASP.NET Web API Works?》]...经过HttpMessageEncoder解码后的Message对象会转成一个HttpRequestMessage对象并传入ASP.NET Web API消息处理管道进行处理,由此管道返回的HttpResponseMessage
但 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 Web API,更期望ASP.NET MVC 4会和ASP.NET MVC 3一样可以很好的运行在Mono上,这样Mono平台就完美了,可以完全的支持RESTful...同时提供了一份WCF Web Api到ASP.NET Web API的迁移指南How to Migrate from WCF Web API to ASP.NET Web API,其中列出了 WCF Web...让Web API的返回值变成IQueryable,Web API会自动启用OData query conventions。
本文需要您了解ASP.NET Core MVC/Web API, xUnit以及Moq相关知识....API项目的核心, 它们把整个应用都整合到了一起....该方法有三个Assert, 首先判定结果类型是否为UnprocessableEntityObjectResult(422状态码), 然后再判定返回结果包含了ModelState的error....随后就是一系列的Assert, 判定某些方法是否执行, 返回类型是否正确, 返回的数据是否正确等. Build 测试会通过的: ? 其它路径的测试 目前该方法还有两处地方没有被覆盖: ?...这两个测试会pass, 最终该方法的代码覆盖率就达到100%了: ? ASP.NET Core Web API Controller的测试就介绍这些吧.
由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET MVC...虽然被命名为“ASP.NET Web API”,但是这个消息处理管道却是独立于ASP.NET平台的,这也是为什么ASP.NET Web API支持多种寄宿方式的根源所在。...[源代码从这里下载] 目录 构建解决方案 定义Web API 以Web Host方式寄宿Web API 以Self Host方式寄宿Web API...三、以Web Host方式寄宿Web API 我们在上面已经提到过了,虽然被命名为ASP.NET Web API,但是其核心的消息处理管道却是独立于ASP.NET平台的,所以我们可以对相同的Web API...实际上到此为止,Web API的Web Host寄宿工作就已经完成,我们可以利用浏览器来调用寄宿的Web API来判断寄宿工作是否成功。
模块化 Web 服务器 IIS 7.0 将 Web 服务器分成一个轻型服务器核心,以及可以插入此核心中的 40 多个功能模块。...Microsoft.Web.Administration 是新的 .NET 管理 API,它使托管代码应用程序可以轻松地以编程方式设置 IIS 站点和应用程序、访问重要状态和诊断信息以及按其他方式配置服务器...此功能的核心是全新的 Web 服务器可扩展 API,所有现有 IIS 7.0 HTTP 功能都建立在它之上。此 API 是公用的,这意味着您可以实现 IIS 7.0 附带的任何功能。...大多数 IIS 7.0 服务器 API 都使用服务器托管内存来存储它们返回的数据,而不是像 ISAPI 和大多数现有 Win32® API 那样需要您分配和管理缓冲区。...与集成模式存在运行库不兼容情况的少数 ASP.NET 应用程序可能必须移动到运行于经典模式的应用程序池中。
在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一如既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑...在谈WebApi处理架构之前,我们还是来看一下微软为WebApi提供的海报,这里就不拿图了,需要看的可以点击下载:下载地址 Asp.Net Web Api处理架构可以分为三层,分别是托管层、消息处理程序管道...二.WebApi托管方式解析: 在Asp.Net Web Api的托管方式有三种,接下来我们来大致了解一下这三种托管方式。 ...(2).Web托管,即在IIS之上使用ASP.NET管道进行托管。... HTTP 响应状态代码。
ASP.NET 和 IIS 我们知道,不管是ASP.NET MVC 还是ASP.NET WEB API 等都是基于ASP.NET Framework的,这种关系从前缀就可以窥倪出来。...而ASP.NET的核心正是System.Web这个程序集,而且System.Web紧耦合IIS,他存在于.NET Framework中。...所以,这导致了Web Framework严重的局限性: ASP.NET 的核心System.Web,而System.Web紧耦合IIS System.Web 是.NET Framework重要组成,已有...这一切的改变都是由于OWIN的出现,他提供了明晰的规范以便我们快速灵活的去扩展Pipeline来处理Http请求,甚至可以不写任何一句代码来切换不同的Web Server,前提是这些Web Server...对于Web API、SignalR这类Web Framework中间件而言,我们仅仅是改变了他们的托管方式,而不是取代ASP.NET WEB API、SignalR原先的应用程序开发。
领取专属 10元无门槛券
手把手带您无忧上云