using Autofac;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace AutofacDemo
{
public interface ITest
{
string Hello1();
} public class Test1 : ITest
{
public string Hello1()
{
Console.WriteLine("ok1");
return "ok11";
}
} public class Test2 : ITest
{
public string Hello1()
{
Console.WriteLine("ok2");
return "ok22";
}
} class Program
{
private static IContainer Container1 { get; set; }
private static IContainer Container2 { get; set; } static void Main(string[] args)
{
var builder3 = new ContainerBuilder();
builder3.RegisterType<Test1>().As<ITest>();
var Container3 = builder3.Build(); var builder1 = new ContainerBuilder();
builder1.RegisterType<Test1>().As<ITest>();
var Container1 = Container3;// builder1.Build(); var builder2 = new ContainerBuilder();
builder2.RegisterType<Test2>().As<ITest>();
var Container2 = Container3;// builder2.Build(); //using (var scope = Container1.BeginLifetimeScope())
//{
// var test1 = scope.Resolve<ITest>();
// test1.Hello1();
//} //using (var scope = Container2.BeginLifetimeScope())
//{
// var test2 = scope.Resolve<ITest>();
// test2.Hello1();
//} var test1 = Container1.Resolve<ITest>();
test1.Hello1(); var test2 = Container2.Resolve<ITest>();
test2.Hello1();
Console.WriteLine(Container1.GetHashCode());
Console.WriteLine(Container2.GetHashCode());
}
}
}

结果是这两个hashcode相等

Console.WriteLine(Container1.GetHashCode());
Console.WriteLine(Container2.GetHashCode());

Autofac IContainer 测试的更多相关文章

  1. Autofac之类型注册

    本次主要学习一下Autofac中实现类型注册的几种方式,这里并不打算一开始就从基于接口开发的服务关联切入,而是先从一个简单的类型注册来学起,虽然实际开发中可能不会这么做,但是个人感觉从这里学起理解能能 ...

  2. Ioc Autofac心得

    对于这个容器注入,个人也不是很熟悉,很多还不懂,只会基本的操作,几天把它记录下来,说不定以后帮助就大了呢,这方面跟安卓差距还是挺大的 下面记录下应用的流程 步骤: 1.添加应用 2.重写工厂(这里讲的 ...

  3. 也说Autofac在MVC的简单实践:破解在Controller构造函数中的实例化 - winhu

    相信大家对Autofac并不陌生,很多人都在使用.本文只是介绍一下本人在使用时的一点想法总结. 在使用一个框架时,肯定要去它的官网查阅一下.autofac的官网给出了一些经典的使用案例.如注册容器: ...

  4. Autofac IOC框架

    ASP.NET Core自带了一个轻量级的IOC容器     但是只提供了最基本的AddXXX方法来绑定实例关系     需要一个一个添加   可以使用其他IOC容器来替换内置的 ABP自带Castl ...

  5. ioc autofac简单示例

    1.winform用法: nuget安装autofac public interface ILog { bool Log(string msg); } public class TXTLogger : ...

  6. Autofac 控制反转

    class Program { static void Main(string[] args) { IContainer container = Init(); Go(container); Cons ...

  7. 从零开始,搭建博客系统MVC5+EF6搭建框架(2),测试添加数据、集成Autofac依赖注入

    一.测试仓储层.业务层是否能实现对数据库表的操作 1.创建IsysUserInfoRepository接口来继承IBaseRepository父接口 namespace Wchl.WMBlog.IRe ...

  8. 【干货】利用MVC5+EF6搭建博客系统(二)测试添加数据、集成Autofac依赖注入

    PS:如果图片模糊,鼠标右击复制图片网址,然后在浏览器中打开即可. 一.测试仓储层.业务层是否能实现对数据库表的操作 1.在52MVCBlog.IRepository程序集下创建IsysUserInf ...

  9. C#开发微信门户及应用(42)--使用Autofac实现微信接口处理的控制反转处理

    在很多情况下,我们利用IOC控制反转可以很方便实现一些接口的适配处理,可以在需要的时候切换不同的接口实现,使用这种方式在调用的时候,只需要知道相应的接口接口,具体调用哪个实现类,可以在配置文件中动态指 ...

随机推荐

  1. userAgent收集

    UserAgent AppleWebKit,Gecko,Trident,Presto http://www.httpuseragent.org/list/ 谷歌:360? Mozilla/5.0 (W ...

  2. poj2762 缩点+topo排序

    Going from u to v or from v to u? Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 16486 ...

  3. lucene-查询query->FuzzyQuery相近词语的搜索

    FuzzyQuery是一种模糊查询,它可以简单地识别两个相近的词语.下面以11.10为例进行详细介绍. package ch11; import org.apache.lucene.analysis. ...

  4. 【转】ListView学习笔记(一)——缓存机制

    要想优化ListView首先要了解它的工作原理,列表的显示需要三个元素:ListView.Adapter.显示的数据: 这里的Adapter就是用到了适配器模式,不管传入的是什么View在ListVi ...

  5. Linux基础1

    1.Linux文件系统类型 ext2 ext3(rhel5) ext4(rhel6) lvm raid swap gfs nfs vfat 2.linux 系统通过磁盘接口识别磁盘 IDE接口 hda ...

  6. 2.python算法之回形矩阵

    代码: #!/usr/bin/env python # encoding: utf-8 """ @author: 侠之大者kamil @file: 2.回形矩阵.py @ ...

  7. Hp自学整理html

    a:hover {text-decoration:underline; color:#00FF00;}/* 鼠标悬浮在链接上时.出现下划线颜色变绿色 */ display:inline.block.i ...

  8. Mvc action间的传值

    1, Mvc action间的传值? TempData["student"] ="123" 在<走入asp.net mvc不归路>系列文章5中,介绍 ...

  9. wpf添加超链接

    前段: <TextBlock Margin="69,93,859,10"> <Hyperlink NavigateUri="http://dmsite. ...

  10. Cloud Design Patterns Book Reading(undone)

    目录 . the most common problem areas in cloud application development ) Availability ) Data Management ...