• 入门系列-集成 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
                }))
                {
                    //...
                }
            }
        }
    }
  • 相关阅读:
    k8s官网 基础知识入门教程
    Mac安装minikube
    docker下创建crontab定时任务失败
    docker save提示no space left on device错误
    cx_Oracle读写clob
    Ossec添加Agent端流程总结
    ossec变更alert等级及配置邮件预警
    linux安全配置检查脚本_v0.5
    linux命令返回值的妙用
    Shell脚本判断内容为None的方式
  • 原文地址:https://www.cnblogs.com/fxck/p/13076439.html
Copyright © 2020-2023  润新知