<#@ template debug="false" hostspecific="true" language="C#" #> <#@ assembly name="System.Core" #> <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> <#@ import namespace="System.Collections.Generic" #> <#@ import namespace="System.IO" #> <#@ output extension=".cs" #> <# string solutionsPath = Host.ResolveAssemblyReference("$(SolutionDir)");//获取解决方案路径 string txt; StreamReader sr = new StreamReader(solutionsPath+@"\T4Model\T4Model.txt"); txt=sr.ReadToEnd(); sr.Close(); string[] ModelData= txt.Split(','); #> using Autofac; using Autofac.Extras.DynamicProxy; using CC.Yi.BLL; using CC.Yi.Common.Castle; using CC.Yi.DAL; using CC.Yi.IBLL; using CC.Yi.IDAL; using System; namespace CC.Yi.API { public partial class Startup { //动态 面向AOP思想的依赖注入 Autofac public void ConfigureContainer(ContainerBuilder builder) { builder.RegisterType(typeof(CustomAutofacAop)); builder.RegisterGeneric(typeof(BaseDal<>)).As(typeof(IBaseDal<>)); <# foreach(string k in ModelData){#> builder.RegisterType<<#=k #>Bll>().AsBll>().EnableInterfaceInterceptors();//表示注入前后要执行Castle,AOP <# } #> } } }