使用Autofac进行服务注册,适用版本.Net6(程序集、泛型)

[复制链接]
发表于 2023-7-25 11:06:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
具体的也可以去参考官网:https://autofac.readthedocs.io/en/latest/integration/aspnetcore.html
首先在Program.cs所属的层中引用nuget包:
Autofac.Extensions.DependencyInjection

nuget网址:https://www.nuget.org/packages  可以使用NuGet包管理器进行搜索安装
在Program.cs中加入如下代码:
  1. //注册服务工厂(Autofac)
  2. builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory())
  3. .ConfigureContainer<ContainerBuilder>(container =>
  4. {
  5.    //使用程序集进行注册服务
  6.    container.RegisterAssemblyTypes(Assembly.Load("SmartHealthcare.Application")).AsImplementedInterfaces();
  7.    container.RegisterAssemblyTypes(Assembly.GetExecutingAssembly());
  8.    //泛型注册服务
  9.    container.RegisterGeneric(typeof(Repository<>)).As(typeof(IRepository<>)).InstancePerDependency();
  10. });
复制代码
代码中SmartHealthcare.Application可以替换为具体自己项目中Application层的全名,还有typeof(Repository)和typeof(IRepository)也是同样的道理替换为自己项目中的仓储实现层名称和仓储接口层名称。
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
继续阅读请点击广告
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表