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

东莞建站公司运转全网天下有 名关键词优化上海

东莞建站公司运转全网天下有 名,关键词优化上海,wordpress ul id乱码,宝山网站建设公司文章目录 1.什么情况下需要引入第三方容器组件2.如何集成Autoface 1.什么情况下需要引入第三方容器组件 基于名称的注入属性注入子容器基于动态代理的AOP 核心扩展点:IServiceProviderFactory 第三方注入容器均使用这个类作为扩展点,将其注入到框架中…

文章目录

    • 1.什么情况下需要引入第三方容器组件
    • 2.如何集成Autoface

1.什么情况下需要引入第三方容器组件

  • 基于名称的注入
  • 属性注入
  • 子容器
  • 基于动态代理的AOP

核心扩展点:IServiceProviderFactory

第三方注入容器均使用这个类作为扩展点,将其注入到框架中,所以使用者只需关注官方定义的接口,而不用过多关注第三方容器

// 定义接口及实现
public interface IMyService
{void ShowCode();
}public class MyService : IMyservice
{public void ShowCode(){Console.WriteLine($"MyService.ShowCode:{GetHashCode()}");}
}public class MyServiceV2 : IMyservice
{public MyNameService NameService {get;set;}//用于演示属性注入方式public void ShowCode(){Console.WriteLine($"MyServiceV2.ShowCode:{GetHashCode()},NameService是否为空:{NameService==null}");}
}public class NameService
{}

2.如何集成Autoface

step 1 安装依赖包
1.Autofac.Extensions.DependencyInjection ⇒ 依赖注入包
2.Autofac.Extras.DynamicProxy ⇒ 动态代理包

step 2 Program添加代码

public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args).UseServiceProviderFactory(new AutofacServiceProviderFactory())// 添加这一行代码,这是用来注册第三方容器的入口.ConfigureWebHostDefaults(webBuilder => {webBuilder.UserStartup<Startip>();});

step 3 Startup添加方法ConfigureContainer

// 默认的注册方法
public void ConfigureServices(IServiceCollection services)
{services.AddControllers().AddControllerAsServices();
}// Autofac注册方法
public void ConfigureContainer(ContainerBuilder builder)
{builder.RegisterType<MyService>().As<IMyService>();// 命名注册,用于一个服务注册多次,并用命名来进行区分builder.RegisterType<MyServiceV2>().Named<IMyservice>("service2");// 属性注册builder.RegisterType<MyServiceV2>().As<IMyService>().PropertiesAutowired();// AOPbuilder.RegisterType<MyInterceptor>();// 拦截器//builder.RegisterType<MyNameService>();builder.RegisterType<MyServiceV2>().As<IMyService>().PropertiesAutowired().InterceptedBy(typeof(MyInterceptor)).EnableInterfaceInterceptors();// 子容器builder.RegisterType<MyNameService>().InstancePerMatchingLifetimeScope("myscope");
}public class MyInterceptor : IInterceptor
{public void Intercept(IInvocation invocation){Console.WriteLine($"拦截器前{invocation.Method.Name}");invocation.Processed();// 执行具体方法Console.WriteLine($"拦截器后{invocation.Method.Name}");}
}
http://www.ds6.com.cn/news/33283.html

相关文章:

  • 武汉网站建设 网站制作产品营销策划方案怎么做
  • 专做定制的网站百度爱采购推广一个月多少钱
  • 做网站上极海网网站营销外包哪家专业
  • 整站seo怎么做有什么引流客源的软件
  • 新疆建设工程网站成都百度推广代理公司
  • 深圳做网站排名哪家专业谷歌seo推广服务
  • 网页开发技术有哪些自动app优化官网
  • 做三国的网站网页模板免费html
  • 农业电商网站建设ppt上海搜索排名优化
  • 广州一起做网店批发首页常州百度搜索优化
  • 网页制作怎么添加视频seo优化范畴
  • 网站价值如何评估seo公司系统
  • 做网站开发哪里可以接单杭州seo关键词优化公司
  • 福田欧曼所有车型百度地图关键词排名优化
  • 17网站一起做网店2018百度技术培训中心
  • 鹰潭网站建设整合营销传播案例分析
  • 网站做二级域名干什么用百度无广告搜索引擎
  • 首信建设网站seo英文全称
  • 南宁网站设计推广惠州网站排名提升
  • 南通网站设计制作公司怎么联系百度人工客服
  • 网站建设架构营销管理
  • 烟台网站开发多少钱免费发布产品的平台
  • 品牌策划案范本优化网址
  • 论述网站推广的方法与技巧美业推广平台
  • 商城网站制作报价优化的定义
  • 南充网站开发舆情视频
  • 网站回答问题app怎么做网页seo
  • 单页网站怎么做排名怎么制作公司网站
  • 上饶福田集团青岛百度网站排名优化
  • 网易免费企业邮箱注册windows优化大师是系统软件吗