当前位置: 首页 > news >正文

网站制作前言公司/今日重大新闻事件

网站制作前言公司,今日重大新闻事件,宁夏网站建设费用,外贸网站建设电话在WebApi的Filter过滤器中使用Unity进行依赖注入IOC 问题 在一个webapi中使用了unity作为ioc容器,然后给所有controller添加了一个身份认证的Filter,结果发现在Filter中无法注入,总是null,鼓捣了一会filterprovider也没弄好&…

在WebApi的Filter过滤器中使用Unity进行依赖注入IOC

问题 在一个webapi中使用了unity作为ioc容器,然后给所有controller添加了一个身份认证的Filter,结果发现在Filter中无法注入,总是null,鼓捣了一会filterprovider也没弄好,最终换了个获取实例的方式,详细说一下

首先 给webapi添加一个过滤器

public static class WebApiConfig
{public static void Register(HttpConfiguration config){// Web API 配置和服务// Web API 路由config.MapHttpAttributeRoutes();config.Routes.MapHttpRoute(name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional });//就是这个玩意config.Filters.Add(new JWTAttribute());}
}

再看看unity
下载的 Unity.AspNet.WebApi 的nuget包,自动生成了UnityConfig文件,在文件中配置上接口与实现类

//因为这个在过滤器中用于验证token是否正确,会频繁调用,所以我把它弄成了单例模式
container.RegisterSingleton<IAccountService,AccountServiceImpl>();

再看看Filter
直接进行注入的话,不管是属性还是构造器、方法注入,Service都是null,生气。
记得以前写java过滤器时好像也不能直接通过注解的方式,哈哈,具体的忘了,研究一下看看能不能通过其他方式获取。
在看UnityWebApiActivator这个文件发现是把UnityDependencyResolver赋值给了GlobalConfiguration.Configuration.DependencyResolver,所以就想到了这个。
总之解决了算是。

public class JWTAttribute : AuthorizeAttribute{//[Dependency]//public IAccountService Service { get; set; }//这个玩意 就这一句话private readonly IAccountService Service =	(IAccountService)GlobalConfiguration.Configuration.DependencyResolver.GetService(typeof(IAccountService));protected override bool IsAuthorized(HttpActionContext actionContext){if (actionContext.Request.Headers.TryGetValues("token", out IEnumerable<string> data)){var token = data.FirstOrDefault();if (string.IsNullOrEmpty(token)){return false;}var result = Service.Validata(token);if (result.Success){return true;}}return false;}}

其实就是一句话,GlobalConfiguration.Configuration.DependencyResolver.GetService
高考了嘛,一想起高考就想凑字数 哈哈

http://www.lbrq.cn/news/841357.html

相关文章:

  • 什么网站专门做外贸批发/chrome下载
  • 乒乓球网站怎么做/网站推广优化的原因
  • 杭州俄语网站建设/潍坊百度网站排名
  • 网站建设+青海/计算机培训课程
  • 章丘做网站公司/南昌网站seo外包服务
  • 程序员网站需要多少钱/seo推广教程seo推广技巧
  • 天津网站建设制作价格/网络销售
  • 网站建设 表扬信/网站seo关键词设置
  • 个人建什么网站最赚钱/广州竞价托管代运营
  • 企业免费自助建站平台/北京网站优化服务
  • 网站空间服务/微指数查询
  • 网站建设商业计划书范文/百度推广关键词排名在哪看
  • 网站建设基础教程视频/有没有购买链接
  • wordpress留言快速审核/上海网站排名seo公司
  • 珠海集团网站建设报价/月嫂免费政府培训中心
  • 贵阳网站开发zu97/佛山网站优化
  • 长安网站建设多少钱/无锡百度推广开户
  • 徐州苏视网站建设/代写文章哪里找写手
  • 西安seo网站关键词优化/收录提交入口
  • 做网站哪个语言快/网络营销的三种方式
  • 贵阳市网站做的最好的/简单的网页设计作品
  • 做seo网站的步骤/百度一下照片识别
  • 建设牌安全带官方网站/百度网站推广排名优化
  • 如何自己做门户网站/网络营销方法
  • 网站被模仿怎么办/东莞seo靠谱
  • 公司做网站的费属于广告费么/百度指数可以用来干什么
  • 做黄色网站的违法吗/建立网站用什么软件
  • 网站建设用php建设优点/自助优化排名工具
  • wordpress单本小说主题/关键词首页优化
  • 网站建设的前后台代码/商丘网站优化公司
  • 使用Pytorch进行数字手写体识别
  • OpenCV中常用特征提取算法(SURF、ORB、SIFT和AKAZE)用法示例(C++和Python)
  • 从零开发足球比分APP:REST API与WebSocket的完美搭配
  • 参数检验?非参数检验?
  • STM32硬件I2C的注意事项
  • 从缓存 CAS 看Kimi K2使用的MuonClip优化器