本章讨论创建安全的WebApi服务,到目前为止,我们实现的API都是基于未加密的HTTP协议,大家都知道在Web中传递身份信息必须通过HTTPS,接下来我们来实现这一过程. 使用HTTPS 其实可以通过IIS配置,将整个WebApi的访问都配置为Https,但实际上,如果希望只是对部分方法进行认证,那就必须通过认证身份信息进行处理. 下面介绍通过Filter来实现这一过程,如果身份认证不通过,就返回一条信息,提示访问者通过https进行访问. 1: public class ForceHttps…
通过URI实现版本管理 另一种实现版本管理的方式就是通过URI来进行处理,类似于http://localhost:{your_port}/api/v1/students/.这种方式的好处是使用者可以清楚的知道当前自己使用的版本.实现也很简单: 1: config.Routes.MapHttpRoute( 2: name: "Students", 3: routeTemplate: "api/v1/students/{userName}", 4: defaults:…
一旦成功的发布API后,使用者将依赖于你所提供的服务.但是变更总是无法避免的,因此谨慎的制定ASP.NET Web API的版本策略就变得非常重要.一般来说,新的功能需要无缝的接入,有时新老版本需要并行,以便给使用者足够的时间来进行迁移和配套的变更.设置,老的版本会一直持续被使用. 简单版本管理 假设我们现在对StudentsController进行修改,将GET方法中返回"FirstName" 和 "LastName"修改为返回"FullName&quo…
实现资源分页 本章我们将介绍几种不同的结果集分页方式,实现手工分页,然后将Response通过两个不同的方式进行格式化(通过Response的Envelop元数据或header). 大家都知道一次查询返回几百条数据是很讨厌的事情,那么在WebApi中分页就更有必要. 手动分页和封装 接下来我们修改CoursesController来实现分页而不是返回所有数据. 1: public Object Get(int page = 0, int pageSize = 10) 2: { 3: IQuery…
本章介绍通过使用Ali Kheyrollahi开发的CacheCow来实现服务器端的缓存.所有代码现在都可以在GitHub上下载. 我们将要实现的缓存方式叫做Conditional Requests,实现方式其实很简单.客户端通过在请求Header中包含ETag信息,实现和服务器的交互,确认当前客户端包含的部分数据是否已经被修改,有则拉取,没有服务器端就返回304(Not Modified)和空的消息体.通过Conditional Requests,客户端不断的发起请求,但只有客户端数据过期时才…
WebDAV 是超文本传输协议 (HTTP) 的一组扩展,为 Internet 上计算机之间的编辑和文件管理提供了标准.利用这个协议用户可以通过Web进行远程的基本文件操作,如拷贝.移动.删除等.在IIS 7.0中,WebDAV是作为独立扩展模块,需要单独进行下载,而IIS 7.5中将集成WebDAV,然而WebDav把Put,Delete给咔嚓了.所以在IIS 7.5上部署的RESTful服务(WCF Data Service,WCF Rest Service,ASP.NET Web API,…
现在实际开发中用webapi来实现Restful接口开发很多,我们项目组前一段时间也在用这东西,发现大家用的还是不那么顺畅,所以这里写一个Demo给大家讲解一下,我的出发点不是如何实现,而是为什么? 首先我们来看看我么的code吧: control: public class Users { public int UserID { set; get; } public string UserName { set; get; } public string UserEmail { set; get…
感谢两位两位大佬: https://blog.csdn.net/l1028386804/article/details/61417166 https://www.cnblogs.com/runningsmallguo/p/6239215.html 1.首先我们要下载好文件memcached.exe,这里提供 64bit文件下载:下载 memcached-win64-1.4.4-14.zip 2.下好文件之后,接下来我们就来运行cmd,切记是以管理员的身份进行运行的,界面如图: 我们可以切换盘符=…
让Asp.Net WebAPI支持OData后,就能支持在url中直接输入排序,过滤条件了. 一.创建Asp.Net WebAPI项目: 二.使用NuGet安装Asp.Net WebAPI 2.2和OData包 三.修改WebAPIConfig.cs: using System; using System.Collections.Generic; using System.Linq; using System.Web.Http; using System.Net.Http.Formatting;…
最近在学习用asp.net webapi搭建小程序的后台服务,因为基于小程序端和后台二者的通信,不像OAuth(开放授权),存在第三方应用.所以这个token是双向的,一个是对用户的,一个是对接口的.本来做了一份是用Oauth的,用的是第三种密码策略模式.但是因为不存在第三方应用,所以不用Oauth这种授权标准. 这个Sample是用简单三层做的,书上得来终觉浅,绝知此事要躬行,实践一次就知道wepapi与前端如何通过token认证进行逻辑交互. 搭建项目 搭建项目这一点不多说,直接新建一个空的…