zoukankan      html  css  js  c++  java
  • Autofac Mvc Webapi注入笔记

    Autofac Mvc Webapi注入笔记

     

     private static void MvcIoc(ContainerBuilder builder)
            {
                builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly()).Where(t => !t.IsAbstract && (typeof(IHttpController).IsAssignableFrom(t) || typeof(IController).IsAssignableFrom(t))).InstancePerLifetimeScope();
                var container = builder.Build();
                GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);//ApiController WebApi注入 
                DependencyResolver.SetResolver(new AutofacDependencyResolver(container));//普通的MVC Controller 注入 
                
            }


    MVC Filter注入 通过属性注入

    builder.RegisterFilterProvider();

    在Filter里通过属性就可以了

    在Web Api请求中,没有注入,又需要获取其实例,可以这样获取

    IDependencyScope dependencyScope = this.Request.GetDependencyScope();
    ILifetimeScope requestLifetimeScope = dependencyScope.GetRequestLifetimeScope();
    var customerService = requestLifetimeScope.Resolve<ICustomerService>();
    

      

    在MVC中这样获取

    var customerService = System.Web.Mvc.DependencyResolver.Current.GetService(typeof (ICustomerService));
    
    或者
    var customerService = System.Web.Mvc.DependencyResolver.Current.GetService<ICustomerService>();

      

  • 相关阅读:
    2822 爱在心中
    P1707 刷题比赛
    1269 匈牙利游戏
    1482 路线统计
    Codevs 1287 矩阵乘法&&Noi.cn 09:矩阵乘法(矩阵乘法练手题)
    P2022 有趣的数
    1087 麦森数
    P1111 修复公路
    python为在线漫画站点自制非官方API(未完待续)
    逻辑运算0==x和x==0具体解释
  • 原文地址:https://www.cnblogs.com/rosanshao/p/2890149.html
Copyright © 2011-2022 走看看