ugnx4.0,陈小匀,涵江二手房
install-package autofac
install-package autofac.mvc4
install-package autofac.webapi2
public class autofacutil { /// <summary> /// autofac容器对象 /// </summary> private static icontainer _container; /// <summary> /// 初始化autofac /// </summary> public static void initautofac() { var builder = new containerbuilder(); builder.registercontrollers(assembly.getcallingassembly()); builder.registerapicontrollers(assembly.getcallingassembly()); //配置接口依赖 builder.registerinstance<idbconnection>(dbfactory.createconnection()).as<idbconnection>(); builder.registergeneric(typeof(genericrepository<>)).as(typeof(igenericrepository<>)); //注入仓储类 builder.registerassemblytypes(assembly.load("demo.repository")) .where(x => x.name.endswith("repository")) .asimplementedinterfaces(); _container = builder.build(); //设置mvc依赖注入 dependencyresolver.setresolver(new autofacdependencyresolver(_container)); //设置webapi依赖注入 globalconfiguration.configuration.dependencyresolver = new autofacwebapidependencyresolver((icontainer)_container); } /// <summary> /// 从autofac容器获取对象 /// </summary> /// <typeparam name="t"></typeparam> /// <returns></returns> public static t getfromfac<t>() { return _container.resolve<t>(); } }
在global.asax全局文件中application_start方法添加代码
autofacutil.initautofac();
public class codecontroller : baseapicontroller { private readonly ismcoderepository _smcoderepository; public codecontroller(ismcoderepository smcoderepository) { _smcoderepository = smcoderepository; } /// <summary> /// 获取数据字典数据列表 /// </summary> /// <param name="codetypeno">数据字典字典类型代码</param> /// <returns></returns> [httppost] public apiresult getcodelist(smcodetype codetypeentity) { var result = _smcoderepository.getcodelist(codetypeentity.codetypeno); return new apiresult() { data = result.select(x => new { x.codeno, x.codename }) }; } }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论