随笔 - 410
文章 - 0
评论 - 519
阅读 -
147万
08 2015 档案
项目中Enum枚举的使用
摘要:在.NET中,枚举一般有两种常见用法,一是表示唯一的元素序列,比如表示订单状态(未提交,待处理,处理中...)。另外一种是表示多种组合的状态,比如表示权限,因为可同时有多个不同权限。 基本用法 这里拿项止中订单的订单状态来举例。 1,使用枚举表示订单的订单状态,并保存到数据库 public void SaveOrder() { using (v...
阅读全文
.NET开发知识体系
摘要:记得几年前写过一篇关于.NET开发方面的知识总结,但是随着技术的发展以及自己技术理解的提升,觉得有必要对那篇文章加以更新和完善。 最近在园子里也看到有人写关于.NET知识体系的文章,特别是灵感之源写的两篇文章,一篇是关于web前端的Web前端开发大系概览 (前端开发技术栈),和一篇关于.NET服务端的.NET技术大系概览 (迄今为止最全的.NET技术栈),都总结得非常好。现在我将前端和...
阅读全文
重点关注之OData with List
摘要:OData是什么 官方解释:The Open Data Protocol (OData) is a data access protocol for the web. OData provides a uniform way to query and manipulate data sets through CRUD operations (create, read, update, and d...
阅读全文
重点关注之Filter的使用(性能计数和错误处理)
摘要:Web API中的filter与MVC中的filter非常类似,最主要的不同是,MVC中的filter放在命名空间System.Web.Mvc下,而Web API中的filter则放在命名空间System.Web.Http.Filters下,如果你仍使用MVC下的filter,则程序不会工作。由于在PackageFH项目中,性能计数和错误处理的filter使用得非常好,下面我就以它们为例来演示如何...
阅读全文
重点关注之客户端调用
摘要:包括xml,json,protobuf.net,msgpack四种序列化器的调用。如下代码。 XML JSON protobuf.net msgpack
阅读全文
重点关注之自定义序列化方式(Protobuf和Msgpack)
摘要:除了默认的JSON和XML序列化器外,如果想使用其它格式的(比如二进制)序列化器,也是可以的。比如著名的Protobuf和Msgpack,它们都是二进制的序列化器,特点是速度快,体积小。使用方法如下。 1.定义MediaTypeFormatter,这里以定义MsgPack的formatter为例,主要代码如下。 2.WebApiConfig中注册,代码如下。 3.客户端调用(请求头中...
阅读全文
序列化和模型绑定
摘要:两种内置的序列化器 Web API为我们内置了两种序列化器,即JSON和XML,具体使用哪一个依请求头中Accept值来决定。Accept用来指定响应内容的格式(也称媒体类型),常见的媒体类型有以下几个,如图。 1.为什么请求同一个资源,IE和Chrome得到的结果不一样呢? 默认情况下,请求同一个资源,比如:GET api/contact/searchcontactbyid/001,I...
阅读全文
路由
摘要:Web API路由与MVC路由非常类似,最主要的差异在于Web API是使用HTTP Method(GET,POST,PUT,DELETE…)而不是使用URI路径来选择Action。Web API中的路由主要分为默认路由,自定义路由和特性路由。 图1:Web API 图2:MVC 默认路由 默认情况下,Web ...
阅读全文
第一个简单的DEMO
摘要:一个联系人管理的DEMO,支持CURD 运行效果图: Controller的设计: 总结: Web API的Controller都继承自ApiController。 Web API的Action的命名约定,都以HTTP请求方法或以HTTP请求方法开头的名称命名。
阅读全文
Web API初印象
摘要:理解REST,RESTful和Web API 1.REST:Representational State Transfer表征状态转移,是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。REST设计风格有如下几点: ①资源由URI来指定 ②对资源的操作(即通常所说的CURD)包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、...
阅读全文