Autofac 組件掃描

在程序集中Autofac 可以使用約定來(lái)找到并注冊(cè)組件,你可以掃描并注冊(cè)自定義類型或者為Autofac 模塊專門(mén)進(jìn)行掃描。

1、掃描類型

在其他方面,被稱為約定驅(qū)動(dòng)的注冊(cè)或掃描,Autofac可以根據(jù)用戶指定的規(guī)則從一個(gè)程序集中注冊(cè)一組類型:
var dataAccess = Assembly.GetExecutingAssembly();

builder.RegisterAssemblyTypes(dataAccess)
       .Where(t => t.Name.EndsWith("Repository"))
       .AsImplementedInterfaces();
每個(gè)RegisterAssemblyTypes() 調(diào)用將適用一組規(guī)則,如果有多種不同的組件注冊(cè),一次或多次調(diào)用RegisterAssemblyTypes() 是非常有必要的。
  • 過(guò)濾類型(Filtering Types)

RegisterAssemblyTypes()接受一個(gè)或多個(gè)程序集的參數(shù)數(shù)組。默認(rèn)情況下,程序集中的所有的公共的,具體類將被注冊(cè)。你可以過(guò)濾一組注冊(cè)的類型,通過(guò)使用linq表達(dá)式。
過(guò)濾注冊(cè)類型,使用Where()語(yǔ)法過(guò)濾:
        		

網(wǎng)友評(píng)論