随笔分类 -  ASP.NET Web API

摘要:详情参考:https://www.cnblogs.com/morang/p/9741511.html github地址:https://github.com/yimogit/moxy.blogs/tree/af3ef01c1bc67b530f057e7c28ab798aaf14199a 阅读全文
posted @ 2019-02-11 17:35 学亮 阅读(583) 评论(0) 推荐(0) 编辑
摘要:转载地址:http://www.cnblogs.com/codeon/p/6123863.html 上篇文章说到接口安全的设计思路,如果没有看到上篇博客,建议看完再来看这个。 通过园友们的讨论,以及我自己查了些资料,然后对接口安全做一个相对完善的总结,承诺给大家写个demo,今天一并放出。 对于安全 阅读全文
posted @ 2018-04-11 22:16 学亮 阅读(395) 评论(0) 推荐(0) 编辑
摘要:参考地址:http://www.cnblogs.com/shanyou/p/3194802.html安装nuget包:WebApiContrib很多的api,例如GitHub’s API都有流量控制的做法。使用速率限制,以防止在很短的时间量客户端向你的api发出太多的请求.例如,我们可以限制匿名AP... 阅读全文
posted @ 2015-02-12 17:43 学亮 阅读(1878) 评论(0) 推荐(1) 编辑
摘要:第一种方式单独为每一个Action做验证 // POST api/values public HttpResponseMessage Post([FromBody]UserInfo userInfo) { if (string.Is... 阅读全文
posted @ 2015-01-14 18:26 学亮 阅读(612) 评论(0) 推荐(0) 编辑
摘要:Swagger-UI简单而一目了然。它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线测试工具。项目的设计架构中一直提倡使用TDD(测试驱动)原则来开发,swagger-ui在这方面更是能提供很大帮助。Swagger-UI更倾向于在线测试接口和数据,但其核心... 阅读全文
posted @ 2014-11-05 11:39 学亮 阅读(16540) 评论(18) 推荐(6) 编辑
摘要:对于减少响应包的大小和响应速度,压缩是一种简单而有效的方式。那么如何实现对ASP.NET Web API 进行压缩呢,我将使用非常流行的库用于压缩/解压缩称为DotNetZip库。这个库可以使用NuGet包获取现在,我们实现了Deflate压缩ActionFilter。public class De... 阅读全文
posted @ 2014-10-29 10:44 学亮 阅读(3030) 评论(3) 推荐(0) 编辑
摘要:在ASP.NET Web API里使用Autofac1.通过NuGet安装Autofac.WebApi(当时安装的是Autofac 3.1.0)PM > Install-Package Autofac.WebApi2.在App_Start文件夹下新建AutofacWebApiConfig类 publ... 阅读全文
posted @ 2014-10-28 18:11 学亮 阅读(2115) 评论(0) 推荐(2) 编辑
摘要:转载地址:http://www.asp.net/web-api/overview/creating-web-apis/creating-api-help-pages当创建web API 时,经常要创建一个帮助页,以便其他开发人员知道如何调用您的 API。您可以手动创建的所有文档,但最好是尽可能多地自... 阅读全文
posted @ 2014-10-28 16:28 学亮 阅读(472) 评论(0) 推荐(0) 编辑
摘要:转载地址:http://www.cnblogs.com/fzrain/p/3618887.html前言本文将使用一个开源框架CacheCow来实现针对Http请求资源缓存,本文主要介绍服务器端的缓存。使用缓存技术可以很好的提高Web Api的性能,减小服务器的开销。我们把这种缓存形式称之为:条件化请... 阅读全文
posted @ 2014-04-21 13:32 学亮 阅读(1715) 评论(10) 推荐(1) 编辑
摘要:转载地址:http://www.cnblogs.com/fzrain/p/3558765.html前言一旦我们将API发布之后,消费者就会开始使用并和其他的一些数据混在一起。然而,当新的需求出现时变化是不可避免的,你也许会庆幸API变了对现有客户端没受到影响,但是这种情况不会一直发生。因此,在具体实... 阅读全文
posted @ 2014-04-21 09:57 学亮 阅读(518) 评论(0) 推荐(2) 编辑
摘要:转载地址:http://www.cnblogs.com/fzrain/p/3552423.html在Web Api中强制使用Https我们可以在IIS级别配置整个Web Api来强制使用Https,但是在某些情况下你可能只需要对某一个action强制使用Https,而其他的方法仍使用http。为了实... 阅读全文
posted @ 2014-04-18 17:34 学亮 阅读(846) 评论(0) 推荐(0) 编辑
摘要:转载地址:http://www.cnblogs.com/fzrain/p/3542608.html前言这篇文章我们将使用不同的方式实现手动分页(关于高端大气上档次的OData本文暂不涉及,但有可能会在系列的后期介绍,还没确定。。。),对于分页的结果,我们将采用2种不同的方式响应给客户端(1.将分页元... 阅读全文
posted @ 2014-04-18 16:45 学亮 阅读(2352) 评论(0) 推荐(1) 编辑
摘要:1. 对于返回的Json对象格式是以“帕斯卡”风格的(例如“FirstName”),然而我们的Api有很大的可能被带有Javascript的客户端消费,对于JS开发者来说可能更适合“驼峰”风格(例如”firstName”)的数据。解决方案:配置Json格式。Web Api提供Xml和JSON作为返回... 阅读全文
posted @ 2014-04-10 22:41 学亮 阅读(6441) 评论(2) 推荐(0) 编辑
摘要:HTML表单: Name Price API Controller: [Route("api/uploa... 阅读全文
posted @ 2014-04-03 13:24 学亮 阅读(5203) 评论(1) 推荐(2) 编辑
摘要:在开发中,我使用json格式序列化,所以将默认的xml序列化移除public static class WebApiConfig { public static void Register(HttpConfiguration config) { // ... var json = config.Formatters.JsonFormatter; // 解决json序列化时的循环引用问题 json.SerializerSettings.ReferenceLoopHandlin... 阅读全文
posted @ 2014-04-01 22:43 学亮 阅读(6249) 评论(0) 推荐(2) 编辑
摘要:转载地址:ASP.NET Web API 中的异常处理 阅读全文
posted @ 2014-04-01 17:41 学亮 阅读(264) 评论(0) 推荐(0) 编辑
摘要:转载地址:ASP.NET Web API 2 中的属性路由使用 阅读全文
posted @ 2014-04-01 16:38 学亮 阅读(212) 评论(0) 推荐(0) 编辑
摘要:在《通过扩展让ASP.NET Web API支持W3C的CORS规范》中我们通过自定义的HttpMessageHandler为ASP.NET Web API赋予了跨域资源共享的能力,具体来讲,这个自定义的CorsMessageHandler的自由主要体现在如下两个方面:其一,为简单跨域请求的响应和继预检请求后的真实跨域资源请求的响应添加CORS报头;其二,对从浏览器发送的预检请求予以响应。实际上ASP.NET Web API本身就提供了针对CORS的支持,就其实现原理来看,与我们的实现没有本质的区别。接下来我们通过实例演示如何利用ASP.NET Web API自身的支持来实现“跨域资源共享”。 阅读全文
posted @ 2014-03-31 17:18 学亮 阅读(510) 评论(0) 推荐(0) 编辑
摘要:转载地址:http://www.cnblogs.com/artech/p/cors-4-asp-net-web-api-04.htmlCORS(Cross-Origin Resource Sharing )跨域资源共享,让ASP.NET Web API支持JSONP和W3C的CORS规范是解决“跨域资源共享”的两种途径,在《通过扩展让ASP.NET Web API支持JSONP》中我们实现了前者,并且在《W3C的CORS Specification》一文中我们对W3C的CORS规范进行了详细介绍,现在我们通过一个具体的实例来演示如何利用ASP.NET Web API具有的扩展点来实现针对COR 阅读全文
posted @ 2014-03-31 16:15 学亮 阅读(407) 评论(0) 推荐(0) 编辑
摘要:我们通过继承JsonMediaTypeFormatter定义了如下一个JsonpMediaTypeFormatter类型。它的只读属性Callback代表JavaScript回调函数名称,改属性在构造函数中指定。在重写的方法WriteToStreamAsync中,对于非JSONP调用(回调函数不存在),我们直接调用基类的同名方法对响应对象实施针对JSON的序列化,否则调用WriteToStream方法将对象序列化后的JSON字符串填充到JavaScript回调函数中。using System;using System.Collections.Generic;using System.IO;us 阅读全文
posted @ 2014-03-20 17:52 学亮 阅读(471) 评论(0) 推荐(0) 编辑