惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Full Disclosure
V
Vulnerabilities – Threatpost
Attack and Defense Labs
Attack and Defense Labs
N
News and Events Feed by Topic
SecWiki News
SecWiki News
S
Security @ Cisco Blogs
Schneier on Security
Schneier on Security
B
Blog
TaoSecurity Blog
TaoSecurity Blog
The Last Watchdog
The Last Watchdog
H
Hacker News: Front Page
Hacker News - Newest:
Hacker News - Newest: "LLM"
博客园_首页
D
Docker
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Y
Y Combinator Blog
W
WeLiveSecurity
N
News and Events Feed by Topic
F
Fortinet All Blogs
PCI Perspectives
PCI Perspectives
WordPress大学
WordPress大学
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Recent Announcements
Recent Announcements
Forbes - Security
Forbes - Security
T
Tailwind CSS Blog
Hacker News: Ask HN
Hacker News: Ask HN
爱范儿
爱范儿
腾讯CDC
Last Week in AI
Last Week in AI
月光博客
月光博客
C
Cybersecurity and Infrastructure Security Agency CISA
P
Proofpoint News Feed
Help Net Security
Help Net Security
V
V2EX
C
Cyber Attacks, Cyber Crime and Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
H
Heimdal Security Blog
L
LINUX DO - 最新话题
GbyAI
GbyAI
The Hacker News
The Hacker News
罗磊的独立博客
S
SegmentFault 最新的问题
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 【当耐特】
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
V2EX - 技术
V2EX - 技术
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
O
OpenAI News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - TG.Yang's IT Space

提高工作效率之数据库工具 Unity(3) Unity(1)控制反转 (转)常用的js代码 转:Oracle数据导入导出imp/exp命令 AspNet2.0页面生命周期(转) offsetLeft,Left,clientLeft的区别 发邮件窗体【支持编辑邮件模板,使用wse多线程上传附件及发邮件(带附件)】以及在服务器端自动发邮件 (mark)Oracle Update Statements Oracle 8i and 9i分析函数(转) BlogEngine.net学习(一)——实体类 row_number()over函数的使用(转) Community Server 资源 13个在线web2.0风格生成器 jQuery1.2选择器(转) 键盘输入工作原理 ORACLE 中ROWNUM用法总结 SQLServer和Oracle的常用函数对比 如何在Oracle里实现自增
Unity(2)生命周期
TG.Yang's IT Space · 2009-05-26 · via 博客园 - TG.Yang's IT Space

1.初始化容器,注册

1.1使用XML格式的配置文件,具体参考

http://msdn.microsoft.com/en-us/library/dd203230.aspx

1.2使用UnityContainerll类的RegisterType方法和RegisterInstance方法

1.3 使用容器配置API,踢狗自定义配置

IUnityContainer myContainer = new UnityContainer();

IUnityContainer childCtr = myContainer.CreateChildContainer();

//默认映射

myContainer.RegisterType<IMyService, CustomerService>();

//命名映射

myContainer.RegisterType<IMyService, CustomerService>("Customers");

2.实例生命周期

默认通过容器返回的对象只有一个短暂的生命周期,容器不会存储其引用,每回通过Resolve返回的都是一个新的实例。

通过生命周期管理器管理其生命周期

//类注册为单例

myContainer.RegisterType<IMyService, CustomerService>(new ContainerControlledLifetimeManager());

myContainer.RegisterType<CustomerService>(new ContainerControlledLifetimeManager());

//已存在对象注册为单例

myContainer.RegisterInstance<IMyService>(myEmailService);

注意:注册已存在的对象,不会发生注入,可以通过BuildUp方法强制接口注入和属性注入

使用ExternallyControlledLifetimeManager进行扩展,注册时出入ExternallyControlledLifetimeManager,容器只会保留一个弱引用,可以通过代码去维持对象或者释放对象

注册泛型对象

三种生命周期管理器

1.ContainerControlledLifetimeManager ,RegisterInstance方法的默认管理器

2.ExternallyControlledLifetimeManager

3.PerThreadLifetimeManager

容器层次

容器注销时会注销其所包含的所有的实例

3、Fluent Interface 方法链编程

AddExtension()

Configure