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
                }))
                {
                    //...
                }
            }
        }
    }
  • 相关阅读:
    ios中从相册:相机中获取图片信息
    ios中图片的绘画和截图
    UIPickView的简单介绍
    封装类的方式访问数据库(封装字符串、json)
    ajax用户名案例(重点)
    mysql中一对一,一对多,多对多关系
    会话控制:SESSION,COOKIE
    ajax简单案例:返回json型
    ajax同步,异步
    ajax简单案例:字符串返回类型
  • 原文地址:https://www.cnblogs.com/fxck/p/13076439.html
Copyright © 2011-2022 走看看