随笔分类 - ASP.NET Web API
ASP.NET Web API
摘要:通常情况下,一个OData的EDM(Entity Data Model)在配置的时候定义了,才可以被查询或执行各种操作。比如如下:builder.EntitySet("SomeModels");可能会这样查询:http://localhost:8888/odata/SomeModels如果SomeM...
阅读全文
摘要:本篇体验OData的Action和Function功能。上下文信息参考"ASP.NET Web API基于OData的增删改查,以及处理实体间关系"。在本文之前,我存在的疑惑包括:● 为什么需要OData的Action和Function功能?● Action和Function之间有什么区别?● 如何...
阅读全文
摘要:chsakell分享了一个前端使用AngularJS,后端使用ASP.NET Web API的项目。源码: https://github.com/chsakell/spa-webapi-angularjs文章:http://chsakell.com/2015/08/23/building-singl...
阅读全文
摘要:chsakell分享了一个前端使用AngularJS,后端使用ASP.NET Web API的项目。源码: https://github.com/chsakell/spa-webapi-angularjs文章:http://chsakell.com/2015/08/23/building-singl...
阅读全文
摘要:chsakell分享了一个前端使用AngularJS,后端使用ASP.NET Web API的项目。源码: https://github.com/chsakell/spa-webapi-angularjs文章:http://chsakell.com/2015/08/23/building-singl...
阅读全文
摘要:chsakell分享了一个前端使用AngularJS,后端使用ASP.NET Web API的项目。源码: https://github.com/chsakell/spa-webapi-angularjs文章:http://chsakell.com/2015/08/23/building-singl...
阅读全文
摘要:本篇体验实现ASP.NET Web API基于OData的增删改查,以及处理实体间的关系。首先是比较典型的一对多关系,Supplier和Product。public class Product{ public int Id { get; set; } public string Name...
阅读全文
摘要:本篇使用ASP.NET Web API来体验OData各种query。首先是本篇即将用到的Model。使用的OData版本是4.0。public class Customer{ public int Id { get; set; } public string Name { get; s...
阅读全文
摘要:本篇整理AngularJS使用OData请求ASP.NET Web API资源的思路。首先给ASP.NET Web API插上OData的翅膀,通过NuGet安装OData.然后,给controller中需要使用OData的Action加上EnableQuery特性,并让Action方法返回IQue...
阅读全文
摘要:ASP.NET Web API如何接受来自AngualrJS的QueryString呢?本篇体验两种方式。第一种方式:http://localhost:49705/api/products?search=GDN这种方式是QueryString原生的格式。首先,把当前的域名和端口号放到一个自定义的mo...
阅读全文
摘要:默认情况下,是不允许网页从不同的域访问服务器资源的,访问遵循"同源"策略的原则。会遇到如下的报错:XMLHttpRequest cannot load http://localhost:49705//api/products. No 'Access-Control-Allow-Origin' hea...
阅读全文
摘要:本篇摘自:InfoQ的微信公众号 在设计API的时候考虑的问题包括:API所使用的传输协议、支持的消息格式、接口的控制、名称、关联、次序,等等。我们很难始终作出正确的决策,很可能是在多次犯错之后,并从中吸取经验,才能够接近正确的决策。而通过迭代的方式,只要有足够的机会,就能在API设计方面接近完美。 一个公开的API就像砖石,它是永恒不变的。(引自Joshua Block) 要知道...
阅读全文
摘要:ASP.NET Web API本质是由一个进程托管的一组类,需要宿主,这个宿主可以是ASP.NET应用程序,可以是MVC项目,可以是控制台应用程序,也可以是自己定制的宿主。 在VS2012中创建一个"ASP.NET MVC4 Web应用程序",选择"Web API"模版,会为我们自动添加一些相关组件。 App_Start下的WebApiConfig类包含一个Register方法,这在方...
阅读全文
摘要:当我们调用第三方的Web API服务的时候,不一定每次都是成功的。这时候,我们可能会再多尝试几次,也有可能延迟一段时间再去尝试调用服务。 Task的静态方法Delay允许我们延迟执行某个Task,此方法可以让我们做到延迟一段时间再去调用服务;多尝试几次调用如何实现呢?可以用循环遍历。 在"使用HttpClient对ASP.NET Web API服务实现增删改查"中,创建了一个ASP.NET...
阅读全文
摘要:本篇体验使用HttpClient对ASP.NET Web API服务实现增删改查。 创建ASP.NET Web API项目 新建项目,选择"ASP.NET MVC 4 Web应用程序"。 选择"Web API"。 在Models文件夹下创建Product类。 public class Product { public int Id { get; set...
阅读全文
摘要:本篇体验使用HttpClient消费ASP.NET Web API服务,例子比较简单。 依次点击"文件","新建","项目"。 选择"ASP.NET Web API"项目。 在Models文件夹下创建Person.cs类。 public class Person { public int Id { get; set; } public ...
阅读全文
摘要:本篇接着上一篇"ASP.NET Web API实践系列06, 在ASP.NET MVC 4 基础上增加使用ASP.NET WEB API",尝试获取数据。 在Models文件夹下创建Comment类: namespace MvcApplication5.Models
{ public class Comment { public int ID { get; ...
阅读全文
摘要:本篇尝试在现有的ASP.NET MVC 4 项目上增加使用ASP.NET Web API。 新建项目,选择"ASP.NET MVC 4 Web应用程序"。 选择"基本"项目模版。 在Controllers文件夹下添加一个名称为"TestController"的空API控制器。 在引用文件夹中多了以下程序集:System.Web.HttpSystem.Web.Http.WebHostS...
阅读全文
摘要:ASP.NET Web API的消息处理管道可以理解为请求到达Controller之前、Controller返回响应之后的处理机制。之所以需要了解消息处理管道,是因为我们可以借助它来实现对请求和响应的自定义处理。所有的请求被封装到HttpRequestMessage这个类中,所有的响应被封装到HttpResponseMessage这个类中。 既然消息处理管道是可扩展的,那么,ASP.NET W...
阅读全文
摘要:ASP.NET Web API路由,简单来说,就是把客户端请求映射到对应的Action上的过程。在"ASP.NET Web API实践系列03,路由模版, 路由惯例, 路由设置"一文中,体验了通过模版、惯例、HTTP方法来设置路由,这种做法的好处是把路由模版统一放在了App_Start文件夹下的WebApiConfig类中,方便管理,但缺点是不够灵活。 REST把一切都看成资源,有时候,一个资...
阅读全文