ASP.NET WebAPI 08 Message,HttpConfiguration,DependencyResolver   Message WebAPI作为通信架构必定包含包含请求与响应两个方法上的报文,在WebAPI它们分别是HttpRequestMessage,HttpResponseMessage.对于HttpResponseMessage之前在WebAPI返回结果中有应用. HttpRequestMessage 请求报文包含请求地址(RequestUri),请求方法(Method)…
定义 身份验证(Authentication):确定用户是谁. 授权(Authorization):确定用户能做什么,不能做什么. 身份验证 WebApi 假定身份验证发生在宿主程序称中.对于 web-hosting,宿主是 IIS.这种情况下使用 HTTP Module 进行验证. 验证时,宿主会创建一个表示安全上下文的主体对象(实现 IPrincipal),将它附加到当前线程.主体对象包含一个存储用户信息的 Identity 对象.若验证成功,Identity.IsAuthenticated…
Browser security prevents a web page from making AJAX requests to another domain. This restriction is called the same-origin policy, and prevents a malicious site from reading sentitive data from another site. However, sometimes you might want to let…
初步看了下CacheCow与OutputCache,感觉还是CacheOutput比较符合自己的要求,使用也很简单 PM>Install-Package Strathweb.CacheOutput.WebApi2 基础使用 CacheOutput特性 [Route("get")] [CacheOutput(ClientTimeSpan = , ServerTimeSpan = )] public IEnumerable<string> Get() { return n…
前面在ASP.NET WEBAPI中集成了Client Credentials Grant与Resource Owner Password Credentials Grant两种OAUTH2模式,今天在调试Client Credentials Grant想到如下几点 建议TryGetBasicCredentials认证 validate client credentials should be stored securely (salted, hashed, iterated),参考PDF设计…
现在Asp.net webapi 运用的越来越多,其单元而是也越来越重要.一般软件开发都是多层结构,上层调用下层的接口,而各层的实现人员不同,一般大家都只写自己对应单元测试.对下层的依赖我们通过IOC来做.首先看我们的Controller定义及实现 public class ArticlesController : ApiController { private IArticleService _articleService; public ArticlesController(IArticle…
在Controller之前我们先回顾一下HttpMessageHandler通道. 在这个图中我留一个HttpContollerDispatcher没有说明.因为这个类也是继承自HttpMessageHandler,但由于HttpRoutingDispatcher已经不继承DelegatingHandler,所以就没有把HttpControllerDisPatcher作为HttpMessageHandler通道的最后一个节点. HttpControllerDispather的主要功能就是根据请求…
重温ASP.NET WebAPI(二)进阶   介绍 本文为个人对WebApi的回顾无参考价值. 本文内容: Rest和UnitOfWork 创建WebAPi的流程 IOC-Unity的使用 MEF 自定义URL Base认证和Token自定义权限 日志NLog OData的使用 Owin自宿主的使用 代码地址:https://github.com/OtherRuan/Review-Serials WebApi的几点特性 WebApi 提供了几点特性: 1. 自动匹配HTTP方法 GetMeth…
初步看了下CacheCow与OutputCache,感觉还是CacheOutput比较符合自己的要求,使用也很简单 PM>Install-Package Strathweb.CacheOutput.WebApi2 基础使用 CacheOutput特性 [Route("get")] [CacheOutput(ClientTimeSpan = , ServerTimeSpan = )] public IEnumerable<string> Get() { return n…
在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一如既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑,还让我含着泪去填.改BUG前看队友写的代码,这里就不评价了,反正是边改边骂,我的嘴巴就没停过,作为开发者,我那时的心情,就不再描述了,反正是找不到一个好词形容. 新年展望,我感觉我是没啥好展望的,反正去年的展望是一个都没实现,事情该怎么做还是怎么做的,估计大多数人跟我差不多,任何事不能强求,事前努力…