AutoFac在项目中的应用

技能大全:http://www.cnblogs.com/dunitian/p/4822808.html#skill

完整Demo:https://github.com/dunitian/LoTCodeBase/tree/master/NetCode/3.常用技能/8.AutoFac/1.AutoFac

先看效果

IBLL

IBLL

核心代码:

 

代码附件:

        public ActionResult Index()
        {
            ITestBLL testBLL = Container.Resolve<ITestBLL>();
            ViewBag.Name = testBLL.GetName();
            return View();
        } 

————————————————————————————————

    public interface ITestBLL
    {
        string GetName();
    }

————————————————————————————————

    public class TestBLL : ITestBLL
    {
        public string GetName()
        {
            return "我为NET狂-官方群① 238575862";
        }
    }

————————————————————————————————

/// <summary>
/// Autofac IOC类
/// </summary>
public class Container
{
    /// <summary>
    /// IOC 容器
    /// </summary>
    public static IContainer container = null;
    public static T Resolve<T>()
    {
        try
        {
            if (container == null)
            {
                Initialise();
            }
        }
        catch (Exception ex)
        {
            throw new Exception("IOC实例化出错!" + ex.Message);
        }

        return container.Resolve<T>();
    }

    /// <summary>
    /// 初始化
    /// </summary>
    public static void Initialise()
    {
        var builder = new ContainerBuilder();

        //格式:builder.RegisterType<xxxx>().As<Ixxxx>().InstancePerLifetimeScope();
        builder.RegisterType<TestBLL>().As<ITestBLL>().InstancePerLifetimeScope();

        container = builder.Build();
    }
}

扩展:http://blog.csdn.net/dhx20022889/article/details/9061483

转载于:https://www.cnblogs.com/dunitian/p/5693193.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值