zoukankan      html  css  js  c++  java
  • Asp.net Core3.1使用Autofac

    安装Autofac

    Program文件中加入UseServiceProviderFactory

     public class Program
        {
            public static void Main(string[] args)
            {
                CreateHostBuilder(args).Build().Run();
            }
    
            public static IHostBuilder CreateHostBuilder(string[] args) =>
                Host.CreateDefaultBuilder(args)
                    .ConfigureWebHostDefaults(webBuilder =>
                    {
                        webBuilder.UseStartup<Startup>();
                    })
                .UseServiceProviderFactory(new AutofacServiceProviderFactory());
        }

    Startup 文件 ConfigureServices方法添加:

            services.Replace(
       ServiceDescriptor
           .Transient<IControllerActivator, ServiceBasedControllerActivator>()
    );

    添加ConfigureContainer方法

     public void ConfigureContainer(ContainerBuilder builder)
            {
    
                var assembly1= Assembly.GetAssembly(typeof(BaseService));
                var assembly2 = Assembly.GetExecutingAssembly();
                builder.RegisterAssemblyTypes(assembly1)
                    .PublicOnly()
                    .Where(r => r.Name.EndsWith("Service"))
                    .AsImplementedInterfaces()
                    .PropertiesAutowired()
                    .InstancePerLifetimeScope();
                builder.RegisterType<HttpContextAccessor>().As<IHttpContextAccessor>();
                var controllersTypesInAssembly = typeof(Startup).Assembly.GetExportedTypes()
            .Where(type => typeof(Microsoft.AspNetCore.Mvc.ControllerBase).IsAssignableFrom(type)).ToArray();
                builder.RegisterTypes(controllersTypesInAssembly).PropertiesAutowired();
            }
  • 相关阅读:
    on duplicate key update之多列唯一索引
    js 判断 微信浏览器 安卓/苹果 pc/移动
    history 和 hash (转)
    路由vue-router
    添加图标ico
    vue项目结构
    vue2.0项目的构建
    echarts使用 图例改变和默认不选中
    微信自定义菜单设置 及 emoji表情更换
    复制/设置剪切板内容 (浏览器/nativejs)
  • 原文地址:https://www.cnblogs.com/tangchun/p/15359530.html
Copyright © 2011-2022 走看看