当前位置: 首页 > news >正文

一级做爰A视频免费网站自媒体视频剪辑培训班

一级做爰A视频免费网站,自媒体视频剪辑培训班,公司注册地址新规定,杭州app开发公司哪家好一、背景 刚接触.net 6,记录一下在.net6上是怎么使用Autofac进行动态的依赖注入的 二、注入方式 1、新建一个webapi项目,框架选择net 6 2、引用Nuget包---Autofac.Extensions.Dependency   3、在Program.cs上添加如下代码 //依赖注入 builder.Host.Us…

一、背景

  刚接触.net 6,记录一下在.net6上是怎么使用Autofac进行动态的依赖注入的

二、注入方式

  1、新建一个webapi项目,框架选择net 6

  2、引用Nuget包---Autofac.Extensions.Dependency  

  3、在Program.cs上添加如下代码

//依赖注入
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory())//注册服务工厂
.ConfigureContainer<ContainerBuilder>(container =>
{  //添加依赖注入,AddModule是一个自定义的拓展方法,将依赖注入的方法单独提取出来,方便管理builder.Services.AddModule(container);
});
public static IServiceCollection AddModule(this IServiceCollection services, ContainerBuilder builder, IConfiguration configuration){//初始化配置文件Type baseType = typeof(IDependency);//自定义的空类//动态运行项目的类库var compilationLibrary = DependencyContext.Default.RuntimeLibraries.Where(x => !x.Serviceable&& x.Type == "project").ToList();var count1 = compilationLibrary.Count;List<Assembly> assemblyList = new List<Assembly>();foreach (var _compilation in compilationLibrary){try{assemblyList.Add(AssemblyLoadContext.Default.LoadFromAssemblyName(new AssemblyName(_compilation.Name)));}catch (Exception ex){Console.WriteLine(_compilation.Name + ex.Message);}}//注册程序集的方式添加依赖builder.RegisterAssemblyTypes(assemblyList.ToArray()).Where(type => baseType.IsAssignableFrom(type) && !type.IsAbstract)//过滤非抽象类,继承了IDependency接口的类.AsSelf().AsImplementedInterfaces().InstancePerLifetimeScope();//实例的生命周期//单独注册依赖服务//注册数据库基础操作和工作单元builder.RegisterGeneric(typeof(BaseRepository<,>)).As(typeof(IRepository<,>));builder.RegisterGeneric(typeof(UnitWork<>)).As(typeof(IUnitWork<>));//注册app层builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly());builder.RegisterType(typeof(RedisCacheContext)).As(typeof(ICacheContext));builder.RegisterType<MemoryCacheService>().As<ICacheService>().SingleInstance();return services;}

4.

//依赖注入
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory())

以及再startup.cs中添加ConfigureContainer方法

   public void ConfigureContainer(ContainerBuilder builder)
   {
       ExtAutofac.InitAutofac(builder);
   }

在app层

namespace App
{public static  class ExtAutofac{private static IContainer _container;public static void InitAutofac(ContainerBuilder builder){//注册数据库基础操作和工作单元builder.RegisterGeneric(typeof(BaseRepository<,>)).As(typeof(IRepository<,>));builder.RegisterGeneric(typeof(UnitWork<>)).As(typeof(IUnitWork<>));//注册app层builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly());builder.RegisterType(typeof(RedisCacheContext)).As(typeof(ICacheContext));builder.RegisterType(typeof(HttpContextAccessor)).As(typeof(IHttpContextAccessor));InitDependency(builder);}/// <summary>/// 注入所有继承了IDependency接口/// </summary>/// <param name="builder"></param>private static void InitDependency(ContainerBuilder builder){Type baseType = typeof(IDependency);var compilationLibrary = DependencyContext.Default.CompileLibraries.Where(x => !x.Serviceable&& x.Type == "project").ToList();var count1 = compilationLibrary.Count;List<Assembly> assemblyList = new List<Assembly>();foreach (var _compilation in compilationLibrary){try{assemblyList.Add(AssemblyLoadContext.Default.LoadFromAssemblyName(new AssemblyName(_compilation.Name)));}catch (Exception ex){Console.WriteLine(_compilation.Name + ex.Message);}}builder.RegisterAssemblyTypes(assemblyList.ToArray()).Where(type => baseType.IsAssignableFrom(type) && !type.IsAbstract).AsSelf().AsImplementedInterfaces().InstancePerLifetimeScope();}}
}

http://www.dinnco.com/news/35372.html

相关文章:

  • 网站的动效怎么做的西安网站建设
  • 郑州做商城网站合理使用说明
  • 深圳政府门户网站设计亮点临沂seo整站优化厂家
  • 哪些做展架图的网站好室内设计网站
  • 经常会更换网站域名请收藏网店代运营十大排名
  • 个人网站展示seo宣传
  • 做公司网站源代码怎么写广告联盟app推广
  • 陕西西安网站建设做百度网站一年多少钱
  • 有没有做家具特卖的网站家庭优化大师免费下载
  • 一步一步网站建设教程南昌网站建设
  • 网站制作真人游戏娱乐平台怎么做?seo排名系统源码
  • 鞍山找工作哪个网站最靠谱广告seo是什么意思
  • wordpress伪装插件北京seo代理计费
  • 常用的网页编辑软件是什么seo sem
  • 个人怎么开网站线上营销渠道有哪些
  • 广州沙河一起做网站搜索图片识别
  • 常用分类信息网站怎么做网页
  • 网站备案协议书代写文章接单平台
  • iis默认网站启动不了品牌形象推广
  • 教育类网站怎么做优化营销型网站建设应该考虑哪些因素
  • 杭州 网站程序网站快速排名推广软件
  • 企业收录网站有什么用域名查询网
  • 咋做网站代码背景图移动端优化
  • 免费网站制作软件有哪些精准数据营销方案
  • 网站建设过程和准备阶段企业关键词排名优化网址
  • 柒零叁网站建设湖南长沙torrentkitty搜索引擎
  • 青岛网站厉害的公司新媒体运营是做什么
  • 做网站好用的软件百度网盘人工客服电话多少
  • 杭州网站建设培训班微信小程序怎么开通
  • 做行业门户网站注意什么百度极速版app下载安装挣钱