博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
autofac文档:扫描(程序集)
阅读量:5879 次
发布时间:2019-06-19

本文共 949 字,大约阅读时间需要 3 分钟。

AutoFac文档

目录

  1. 开始
  2. Registering components
  3. 控制范围和生命周期
  4. 用模块结构化Autofac
  5. xml配置
  6. 与.net集成
  7. 深入理解Autofac
  8. 指导
  9. 关于
  10. 词汇表

扫描

autofac可以使用约定在程序集中注册或者寻找组件。

发现组件

autofac2可以根据用户指定的规则在程序集中注册一系列的类型,这种方法叫做convention-driven registration或者扫描。

var dataAccess = Assembly.GetExecutingAssembly();builder.RegisterAssemblyTypes(dataAccess)    .Where(t => t.Name.EndsWith("Repository"))    .AsImplementedInterfaces();

每个RegisterAssemblyTypes方法只能应用一套规则。如果有多套不同的集合要注册,那就有必要多次调用RegisterAssemblyTypes。

选择类型

RegisterAssemblyTypes接受程序集的集合。默认情况下,程序集中所有公共具体的类都会被注册。

如果想要过滤注册的类型,可以使用Where.向下面这样:

Where(t => t.Name.EndsWith("Repository"))

如果想要排除某些类型,使用Except():

Except
()

或者,自定义那些已经排除的类型的注册:

Except
(ct =>ct.As
().SingleInstance())

多个过滤器可以同时使用,这时他们之间是AND的关系

指定服务

RegisterAssemblyTypes这个注册方法是注册单个方法的超集,所以类似As的方法也可以用在程序集中,例如

As
()

As和Named这两个方法额外的重载方法接受lambda表达式来决定服务会提供什么样的类型。

转载于:https://www.cnblogs.com/wolegequ/archive/2012/06/09/2543250.html

你可能感兴趣的文章
网页视频流m3u8/ts视频下载
查看>>
【Leetcode】75.颜色分类
查看>>
刷前端面经笔记(十一)
查看>>
几款常见的视频格式转换器
查看>>
使用Data URI Scheme优雅的实现前端导出csv
查看>>
第十七天-企业应用架构模式-会话状态模式
查看>>
Bytom BIP-32协议和BIP-44协议
查看>>
Docker入门(二)在docker使用MongoDB
查看>>
如何抓住下一波零售风口?看RPA玩转零售自动化
查看>>
记一次mpvue开发完整小程序相关笔记
查看>>
三个月可更改用户昵称两次
查看>>
【极简壁纸】简单高效美观的壁纸网站
查看>>
前嗅ForeSpider教程:采集需要登陆的网页内容
查看>>
从现在开始,试着学会用官方文档去学习一个技术框架
查看>>
一篇文章玩转全网音乐信息库MusicBrainz API
查看>>
多功能React影像组件(拖拽、水印、缩放、切换、旋转)
查看>>
springboot+mybatis实现登录功能,返回json
查看>>
python基础总结
查看>>
通过一个例子学习Kubernetes里的PersistentVolumeClaim的用法
查看>>
常见的几种排序方法
查看>>