• Autofac基础入门


    1) 创建接口项目和实现类项目; 编写接口,编写实现类。

    接口类库

    namespace MyIBLL
    {
        public interface IUserBll
        {
            bool Check(string username, string pwd);
            void AddNew(string username, string pwd);
        }
    }

    实现接口类库

    namespace MyBLLImpl
    {
        public class UserBll : IUserBll
        {
            public void AddNew(string username, string pwd)
            {
                Console.WriteLine("新增用户,username="+username);
            }
    
            public bool Check(string username, string pwd)
            {
                Console.WriteLine("检查用户,username=" + username);
                return true;
            }
        }
    }

    使用  安装 Install-Package Autofac

     class Program
        {
            static void Main(string[] args)
            {
                //IUserBll bll = new UserBll();
                //bll.AddNew("aaa", "123");
                ContainerBuilder builder = new ContainerBuilder();
                //把UserBll注册为IUserBll的一个实现类
                builder.RegisterType<UserBll>().As<IUserBll>();
                IContainer container = builder.Build();
                //创建IUserBll实现类的对象
                IUserBll bll = container.Resolve<IUserBll>();//new UserBll
                bll.AddNew("aaa", "132");
    
                Console.WriteLine("ok");
                Console.ReadKey();
            }
        }

    或者将整个程序集都加载也可以实现

    namespace ZSZ.Tests
    {
        class Program
        {
            static void Main(string[] args)
            {
                //IUserBll bll = new UserBll();
                //bll.AddNew("aaa", "123");
                ContainerBuilder builder = new ContainerBuilder();
                #region 单个加载实现类
    
                //把UserBll注册为IUserBll的一个实现类
                //builder.RegisterType<UserBll>().As<IUserBll>();
                //IContainer container = builder.Build();
                //创建IUserBll实现类的对象
                //IUserBll bll = container.Resolve<IUserBll>();//new UserBll
                //bll.AddNew("aaa", "132");
                #endregion
                //加载程序集 类库MyBLLImpl
                Assembly asm = Assembly.Load("MyBLLImpl");
                //注册到autofac中
                builder.RegisterAssemblyTypes(asm).AsImplementedInterfaces();
                IContainer container = builder.Build();
    
                //创建IUserBll实现类的对象
                IUserBll bll = container.Resolve<IUserBll>();//new UserBll
                bll.AddNew("aa", "123");
    
    
                Console.WriteLine("ok");
                Console.ReadKey();
            }
        }
    }
  • 相关阅读:
    sql时间天数操作
    SQL死锁
    sql操作数据库结构
    sql设置时间显示格式
    sql树形结果,查询所有子类
    centos6.5 mysql 安装
    windows git 使用
    centos6.5 vsftpd的搭建
    centos 6.5 Nginx安装
    jQuery源码中的Ajax--load方法
  • 原文地址:https://www.cnblogs.com/lbjcoder/p/8301424.html
Copyright © 2020-2023  润新知