zoukankan      html  css  js  c++  java
  • 入门系列-集成 Autofac

    集成 Autofac

    Autofac 是.Net世界中最常用的依赖注入框架之一. 相比.Net Core标准的依赖注入库, 它提供了更多高级特性, 比如动态代理和属性注入.

    安装 Autofac

    所有的启动模板和示例都已经集成了 Autofac. 所以, 多数时候你无需手动安装这个包.

    安装 Volo.Abp.Autofac nuget 包到你的项目 (对于一个多项目应用程序, 建议安装到可执行项目或者Web项目中.)

    Install-Package Volo.Abp.Autofac
    

    然后为你的模块添加 AbpAutofacModule 依赖:

    using Volo.Abp.Modularity;
    using Volo.Abp.Autofac;
    
    namespace MyCompany.MyProject
    {
        [DependsOn(typeof(AbpAutofacModule))]
        public class MyModule : AbpModule
        {
            //...
        }
    }

    最后, 配置 AbpApplicationCreationOptions 用 Autofac 替换默认的依赖注入服务. 根据应用程序类型, 情况有所不同.

    ASP.NET Core 应用程序

    如下所示, 在 Startup.cs 文件中调用 UseAutofac():

    public class Startup
    {
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddApplication<MyWebModule>(options =>
            {
                //Integrate Autofac!
                options.UseAutofac();
            });
    
            return services.BuildServiceProviderFromFactory();
        }
    
        public void Configure(IApplicationBuilder app)
        {
            app.InitializeApplication();
        }
    }

    控制台应用程序

    如下所示, 在 AbpApplicationFactory.Create 中用options调用 UseAutofac() 方法:

    using System;
    using Microsoft.Extensions.DependencyInjection;
    using Volo.Abp;
    
    namespace AbpConsoleDemo
    {
        class Program
        {
            static void Main(string[] args)
            {
                using (var application = AbpApplicationFactory.Create<AppModule>(options =>
                {
                    options.UseAutofac(); //Autofac integration
                }))
                {
                    //...
                }
            }
        }
    }
  • 相关阅读:
    (Problem 4)Largest palindrome product
    (Problem 3)Largest prime factor
    (Problem 2)Even Fibonacci numbers
    (Problem 1)Multiples of 3 and 5
    Ural 1086
    Ural 1319
    Ural 1149
    Ural 1079
    Ural 1068
    2016/04/06
  • 原文地址:https://www.cnblogs.com/fxck/p/13076439.html
Copyright © 2011-2022 走看看