
WebAPI
文章平均质量分 57
娃都会打酱油了
世界本来就是不公平的,怨天尤人、自怨自艾又有何用,何不努力一把。
展开
-
WebAPI增加Area以支持无限层级同名Controller
微软的WebAPI默认实现逻辑默认实现中不支持同名Controller,否则在访问时会报HttpError,在网上找到了各种路由自实现,如给ASP.net Web API的Controller分类搭建MVC及WebAPI项目框架时碰到的问题集合在上述地址的帮助下,根据需求,重新编写了AreaHttpControllerSelector,路由原理与上述地址大同小异,均是通过路由匹配拼原创 2014-12-04 19:49:03 · 17645 阅读 · 4 评论 -
WebAPI通过multipart/form-data方式接收文件时由开发自行决定如何保存文件
今年4月份写的《WebAPI通过multipart/form-data方式同时上传文件以及数据(含HttpClient上传Demo)》中,有提到用MultipartFormDataStreamProvider来接收文件时,会自动将文件保存至指定目录下,代码中还备注了下有时间研究下如何不直接保存文件,而是直接接收文件流,然后由用户代码指定如何保存,结果一晃快半年了,却没有任何后续,其实自己压根把这事原创 2015-09-22 13:47:26 · 21219 阅读 · 8 评论 -
MultipartFormDataMemoryStreamProvider修正以支持非IIS宿主的情况
最近做上传,发现以前写的《WebAPI通过multipart/form-data方式接收文件时由开发自行决定如何保存文件》在owin下会取不到文件,所以这里重新修正了下,具体代码如下 using System.IO; using System.Net.Http; using System.Net.Http.Headers; public class Multipar原创 2016-11-23 18:13:39 · 8115 阅读 · 0 评论 -
WebAPI CORS 支持跨域POST
网上一般能找到的都是通过Microsoft.AspNet.WebApi.Cors来实现CORS,这是通过dll的方式,然后还有一种是通过config的方式1、dll方式实现CORS这种方式的好处就是控制精细,可以对同一个站点下的action分别赋予不同的CORS设置,具体怎么实现这里就不多说了,不了解的可以看http://www.cnblogs.com/artech/p/cors-4-as原创 2015-04-27 11:19:13 · 23687 阅读 · 7 评论 -
WebAPI相关的一些记录
1、允许跨域访问:在Web.config的system.webServer配置节下增加配置,这段暂时没搞懂,加上后反正是可以跨域访问了 2、HttpClient访问首先HttpClient在System.Net.Http命名空间下要指定响应格式应当通过下面的代码httpClient.DefaultR原创 2014-11-25 23:38:48 · 1713 阅读 · 0 评论 -
WebAPI 用户认证防篡改实现HMAC(二)签名验证 AbsBaseAuthenticationAttribute
WebAPI的用户身份认证与MVC一样都是通过Attribute进行验证,此处定义了一个抽象基类,子类需要实现根据合作号获取合作用户信息的抽象方法AbsBaseAuthenticationAttribute using System; using System.Web; using System.Collections.Specialized; using原创 2015-02-05 10:11:34 · 11025 阅读 · 1 评论 -
WebAPI 用户认证防篡改实现HMAC(一)MD5签名获取
在开始前先说下防篡改机制的原理,如果已经接触过支付宝的可以跳过此部分防篡改,顾名思义就是防止有人恶意篡改请求数据以达到恶意攻击的目的,那要怎么才能实现这样的目的呢?其实很简单,将要请求的数据加上合作号、合作Key按规则组织成一个字符串,获取对应的MD5摘要,然后将该摘要及合作号同时作为请求的一部分一起传递(合作Key禁止传递)下面进行举例:假定需要进行签名的参数如下(以json格式举例原创 2015-02-04 16:30:33 · 27855 阅读 · 2 评论 -
WebAPI 用户认证防篡改实现HMAC(三)异常信息处理 AbsCommonExceptionFilterAttribute
每个平台都应该具备异常处理策略,此处异常处理策略只针对用户请求产生的当前线程异常,不包括异步处理时产生的未捕获异常,关于异常处理建议大家可以去看下微软企业库的 Exception Handling Application BlockAbsCommonExceptionFilterAttribute,同信息验证一样,异常也是通过Attrbute来处理 using System.Ne原创 2015-02-05 15:08:53 · 6954 阅读 · 3 评论 -
WebAPI 用户认证防篡改实现HMAC(四)ApiController
前面写了三篇文章,都是为了这一步做准备,现在就开始进入最后的正题吧首先对于用户请求中的合作号和签名部分,定义一个专门的类来接收此部分信息(这里要注意的是,在FromUri获取时,方法里面的参数名不能起属性名一样的参数名,否则会导致类实例化,但属性却均为null的问题,这个在做demo时纠结了我1个多小时,汗一个) public class PartnerSign {原创 2015-02-05 17:11:41 · 6166 阅读 · 2 评论 -
WebAPI 用户认证防篡改实现HMAC(五)测试小工具 SecuritySignTool
防篡改之后,测试就无法简单的通过浏览器进行测试,所以需要做个小工具方便测试然后又因为是小工具,所以做的也不会有多完美,吐槽什么的还请轻点小工具核心就两个,一个是签名部分,这个通过前面的SecuritySignHelper,还有一个就是访问部分,这个通过HttpClient实现签名部分如何获取可以直接跳过,这里主要讲下HttpClient,这个是微软配套专门用于访问Restful标准ur原创 2015-02-06 11:41:51 · 5983 阅读 · 1 评论 -
WebAPI通过multipart/form-data方式同时上传文件以及数据(含HttpClient上传Demo)
简单的Demo,用于了解WebAPI如何同时接收文件及数据,同时提供HttpClient模拟如何同时上传文件和数据的Demo,下面是HttpClient上传的Demo界面1、HttpClient部分:HttpClient通过PostAsync提交数据时,第二个请求参数为抽象类HttpContent,当前我们需要通过multipart/form-data的方式模拟请求,multipart对应的请求H...原创 2015-04-30 13:01:55 · 91154 阅读 · 30 评论