简介 这个是我自己编写的asp.net web api 2.2的基础框架,使用了Entity Framework 6.2(beta)作为ORM。...来配置数据库的映射属性等,按约定使用Model名+Configuration作为fluent api的类的名字,并需要继承EntityBaseConfiguration这个类,这个类对EntityBase...该Model的fluent api配置类需要继承的是TreeEntityBaseConfiguration这个类,代码如下: using System.Collections.Generic; using...(也就是LegacyApplication.Models这个项目)里面所有的fluent api配置类(EntityTypeConfiguration的派生类)全部加载进来。...LegacyStandalone.Web.Controllers.Bases { [RoutePrefix("api/Shared")] public class SharedController
, 这里主要是从头编写一个asp.net core 2.0 web api的基础框架....这个系列就是我从头开始建立我自己的基于asp.net core 2.0 web api的后台api基础框架过程, 估计得分几次才能写完. 如果有什么地方错的, 请各位指出!!,谢谢....用来创建 Web Api的middleware: 原来的.net使用asp.net web api 和 asp.net mvc 分别来创建 web api和mvc项目....这一点与老.net web api 不一样, 原来的 asp.net web api 默认不适用任何NamingStrategy, 需要手动加上camelcase的转化....application/xml等等 如果设定的格式在web api里面没有, 那么web api就会使用默认的格式. asp.net core 默认提供的是json格式, 也可以配置xml等格式.
Github源码地址:https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scratch...之前我介绍完了asp.net core 2.0 web api最基本的CRUD操作,接下来继续研究: IoC和Dependency Injection (控制反转和依赖注入) 先举个例子说明一下: ?...在asp.net core里面呢,Ioc和依赖注入是框架内置的,这点和老版本的asp.net web api 2.2不一样,那时候我们得使用像autofac这样的第三方库来实现Ioc和依赖注入。...然而我们注册了LocalMailService,那么CloudMailService是什么时候用呢?...为true,表示如果运行的时候配置文件变化了,那么就立即重载它。
Github源码地址是: https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scratch...Action的路由地址就应该是: 'api/product/create'....但是如果body数据的属性有问题, 比如说name没有填写, 或者name太长, 那么在执行action方法的时候就会报错, 这时候框架会自动抛出500异常, 表示是服务器的错误, 这是不对的....'产品'二字"); } 看看运行结果: ?...这是方式是asp.net core 内置的, 所以简单的情况下还是可以用的. 如果需求比较复杂, 可以使用FluentValidation, 以后会加入这个库.
虽然通过Visual Studio向导在ASP.NET Web API项目中创建的 Controller类型默认派生与抽象类型ApiController,但是ASP.NET Web API框架本身只要求它实现...[本文已经同步到《How ASP.NET Web API Works?》]...HttpController可以视为对ASP.NET Web API的消息处理管道的延续。...通过“ASP.NET Web API标准的“管道式”设计”的介绍我们知道位于管道末端的是一个HttpRoutingDispatcher对象。...在默认情况下,ASP.NET Web API的HttpController激活系统总是创建一个新的HttpController来处理每一个请求。
InfoQ上有一篇文章是 使用IAPIExplorer列举ASP.NET Web API,文章针对的版本是ASP.NET Web API Beta版本写,IAPIExplorer已经包含在RC版本里了,...而且发现ASP.NET Web API的HttpConfiguration 的RC版本比Beta版本多了一个属性: public DefaultServices Services { get; internal...使用该API可以完成的工作有: 产生文档 创建机器可读的元数据 创建一个测试客户端 微软员工Yao发表了两篇文章(ASP.NET Web API: Introducing IApiExplorer/ApiExplorer...和ASP.NET Web API: Generating a Web API help page using ApiExplorer)分别用于展示如何使用API打印Web API列表以及如何创建帮助文档...我们可以为我们的Web API 做出很棒的文档了,而且这个接口的设计也是可扩展的。
$filter=MeetingDate eq datetime’2013-01-17′ 在项目中启用OData查询,首先在项目加入Web API的OData支持,通过Nuget 查找ASP.NET Web...我们没有写任何一个特别的逻辑去支持这些功能,全部都由框架来提供的。是不是OData为你的搜索、过滤、或者分页API的时候提供了一个很好的选项。...OData Queries in ASP.NET Web API:http://www.codeguru.com/csharp/.net/working-with-odata-queries-in-asp.net-web-api.htm...在ASP.NET Web API OData中利用Queryable API进行验证: http://www.infoq.com/cn/news/2013/02/queryable-api 一个创建...ASP.Net Web API Tutorial – Part 1 示例代码下载: http://files.cnblogs.com/shanyou/WebApiOData.zip
扯淡 随着app应用的崛起,后端服务开发的也越来越多,除了很多优秀的nodejs框架之外,微软当然也会在这个方面提供更便捷的开发方式。...这是微软一贯的作风,如果从开发的便捷性来说的话微软是当之无愧的老大哥,只是鱼和熊掌不能兼得,各种语法糖带来开发的便利势必会牺牲程序运行的性能,这是无可避免的,通用和效率永远是需要程序员去取舍的话题。...扯淡到这就完了,下来就聊聊今天的主角web api,web api 是mvc4.0之后出现的一种技术吧,他的创建和带来的便利我就不介绍了。这边文章主要聊聊,我对web api开发的一些理解。...话题一:[FromBody]特性修饰符 FromBody是一个修饰参数的特性,比如:public void Post([FromBody]string name),那么他的作用是什么呢,其实他的作用是查询...,这个时候需要使用JObject来处理,代码如下: jQuery.post("/Api/Userinfo/Add/", { mobile: "18049579804", pwd: "123456
ASP.NET AJAX ASP.NET AJAX是一个完整的开发框架,容易与现有的ASP.NET程序相结合,通常实现复杂的功能只需要在页面中拖几个控件,而不必了解深层次的工作原理,除此之外服务器端编程的...Apache Wicket Apache Wicket是一个针对Java的Web开发框架,与Struts、WebWork、Tapestry类似。...Core提供AJAX、events、packaging、CSS-based querying、animations、JSON等相关操作API;Dijit是一个可更换皮肤、基于模板的WEB UI控件库;DojoX...Google Web Toolkit Google Web Toolkit (GWT) 是一个开源的Java开发框架,可以使不会使用第二种浏览器语言的开发人员编写Google 地图和 Gmail 等 AJAX...ZK Framework ZK是一套开源、兼容XUL/HTML标准、使用Java编写的AJAX框架,使用该框架,你无需编写JavaScript 代码就可以创建一个支持Web 2.0的富互联网应用程序(RIA
Github源码地址:https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scratch...目前数据库的Material表没有数据,可以手动添加几个,也可以把数据库的Product数据删了,改一下种子数据那部分代码: namespace CoreBackend.Api.Entities {...运行试试: ? 没问题,结果和之前是一样的。...运行: ? 没问题。...} 运行: ?
Github源码地址:https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scratch...前三部分弄完,我们已经可以对内存数据进行CRUD的基本操作,并且可以在asp.net core 2中集成Nlog了。...Database First:现在数据库中建立表,然后生成C#的Model。 由于用asp.net core 2.0开发的项目基本都是新项目,所以建议使用Code First。...但是现在就运行的话,并不会创建数据库,因为没有创建MyContext的实例,也就不会调用Constructor里面的内容。...在老版的asp.net web api 2.2里面有一个方法可以从某个Assembly加载所有继承于EntityTypeConfiguration的类,但是entity framework core并没有提供类似的方法
使用 OWIN 作为 ASP.NET Web API 的宿主 ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动 设备)的 HTTP 服务。...ASP.NET Web API 是一种用于在 .NET Framework 上构建 RESTful 应用程序的理想平台。...ASP.NET Web API 是 OWIN 兼容的, 因此可以在 OWIN 服务器上运行。...OWIN 兼容的 Web API 应用, 自然要先添加一个 OWIN 约定的 Startup 类, 来配置我们的 OWIN 应用。...(int id) { } } 在 OWIN 环境下运行 Web API OWIN 目前有兩個比较成熟的服务器: Katana 微软的 OWIN 服务器, 如果没有指定 OWIN 服务器, 则作为默认的
然后还有更轻量级的RESTful web 服务或"Web API",它们使用 JSON,XML,展示了所有的好东西和HTTP 规范的稳定性。...Old JSON) 服务,你能使用ASP.NET Web API做到这两点。...它是ASP.NET 开源的Web栈的所有部分。 ASP.NET Web API Samples on Codeplex,看到C# 协议对象如何在 JSON 世界和 C# 世界之间轻易来回移动了吗?...JSON.NET 和 ASP.NET Web API 的模型绑定提供了一个开心的介质——一个中间背景——被称为 JToken。...以上内容来自:微小的开心功能第2部分-Visual Studio 2012 中的ASP.NET Web API MVC4 WebAPI(一) MVC4 WebAPI(二)——Web API工作方式 http
在本文中,我将介绍一些可以为ASP.NET Web API生成文档的方法。...除非你从未生成过Web API网站,否则你将会意识到,默认模板已经包含了为你可能实现的API 生成文档的功能,其中的一个示例位于authme.ws。...入门 关于如何使用Swagger为ASP.NET Web API生成文档已经写了不止两篇文章(还有一个叫做Swashbuckle的NuGet包,你可以很容易地集成它),但是我需要一些动态的东西 - 事实上...传统的文档(例如Sandcastle Help File Builder)显然不可行,因为它记录了托管代码,而不是更重要的API接口和运行时的模型。...你需要什么 你需要能够在IIS或IIS Express中可以启动的Web API站点。
通过IoC的方式实现针对目标HttpController的激活具有重要的意义。[本文已经同步到《How ASP.NET Web API Works?》]...通过《ASP.NET Web API的Controller是如何被创建的?》...我们在一个ASP.NET Web API应用中定义了这个UnityHttpControllerActivator类型。...Web API应用运行之后,我们可以直接在浏览器中输入相应的地址获取所有联系人列表(“/api/contacts”)和针对某个ID为“001”(“/api/contacts/001”)的联系人信息,相应的联系人信息会以如下图所示的形式出现在浏览器上...运行此ASP.NET Web API应用后通过浏览器试图获取联系人信息,我们依然会得到如上图所示的结果。
ASP.NET Web API提供了一个独立于执行环境的抽象化的HTTP请求处理管道,而ASP.NET Web API自身的路由系统也不依赖于ASP.NET路由系统,所以它可以采用不同的寄宿方式运行于不同的应用程序中...ASP.NET Web API管道的配置是通过HttpConfiguration来完成的。...Web API路由系统在Web Host情况下是如何利用ASP.NET自身的路有系统实现URL路由的:ASP.NET Web API路由系统中的HostedHttpRoute对象通过创建ASP.NET...Web API在Web Host模式下依然是借助ASP.NET自身的路由系统实现URL路由,那么意味着当我们针对ASP.NET Web API进行路由映射的时候必须在ASP.NET路由系统的全局路由表中添加对一个继承自抽象类...ASP.NET Web API路由系统下一个类型为HostedHttpRoute的对象封装,那么HttpWebRoute最终用于处理与之匹配的请求的HttpHandler是什么呢?
[源代码从这里下载] 在正式介绍我们自己创建 的“迷你版”ASP.NET MVC的实现原理之前,我们不妨来看看建立在该框架之上的Web应用如何实现。...在运行Web应用之前,我们需要通过配置对该自定义HttpModule进行注册,下面是相关的配置。...上面我们我们演示了如何在我们自己创建的“迷你版”ASP.NET MVC框架中创建一个Web应用,从中我们可以看到和创建一个真正的ASP.NET MVC应用别无二致。...接下来我们就来逐步地分析这个自定义的ASP.NET MVC框架是如何建立起来的,而它也代表了真正的ASP.NET MVC框架的工作原理。...ASP.NET MVC是如何运行的[1]: 建立在“伪”MVC框架上的Web应用 ASP.NET MVC是如何运行的[2]: URL路由 ASP.NET MVC是如何运行的[3]: Controller
ASP.NET Web API的核心框架是一个消息处理管道,这个管道是一组HttpMessageHandler的有序组合。...Web API的消息处理管道由一组HttpMessageHandler经过“首尾相连”而成,ASP.NET Web API之所以具有较高的可扩展性,主要源于采用的管道式设计。...虽然ASP.NET Web API框架旨在实现针对请求的处理和响应的回复,但是采用的处理策略因具体的场景而不同。...组成ASP.NET Web API核心框架的消息处理管道就这么简单。...ASP.NET Web API框架最大的扩展性就在于我们可以根据具体的消息处理需求来“定制”这个消息处理管道,它允许我们将自定义的HttpMessageHandler按照如左图所示的方式“安装”到这一头一尾之间
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET Web...在ASP.NET Web API中,媒体类型格式化器(Media-type Formatter)是一种能够做以下工作的对象: 从HTTP消息体读取CLR(公共语言运行时)对象 将CLR对象写入HTTP消息体...Web API提供了用于JSON和XML的媒体类型格式化器。...框架已默认将这些格式化器插入到消息处理管线之中。客户端在HTTP请求的Accept报头中可以请求JSON或XML。...这么做的主要原因是: 将你的Web API响应限制到特定的媒体类型。例如,你可能决定只支持JSON响应,而删除XML格式化器。 用一个自定义格式化器代替默认的格式化器。
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 路由就是Web API如何把...Web API支持一种新的路由类型,被叫做属性路由。顾名思义,属性路由是用属性来创建路由。在你的Web API中属性路由可以让你更好的控制URI。你能容易的创建描述资源阶层的URIs。 ...在该类型的路由中, 你可以定义一个或者多个被参数化字符串的模版。当这个框架接收到一个请求时,它匹配一个URI到路由模版。...,1033默认值通过模型绑定进程。这个默认的模型绑定将转换“1033”为1033数值。但是,你可以插入自定义模型绑定,其中可能做不同的事情。...本文参考链接http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2