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

东莞建站公司运转全网天下有 名提高百度快速排名

东莞建站公司运转全网天下有 名,提高百度快速排名,会议室效果图制作,有哪些比较好的做ppt好的网站文章目录 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.laogonggong.com/news/39021.html

相关文章:

  • 360免费建站为什么注册不了资源网站优化排名优化
  • 南昌seo推广方式简述什么是seo
  • 建设部网站 绿色建筑评价表如何做好seo优化
  • 单页网站QQ空间企业策划
  • 廊坊网站建设优化重庆二级站seo整站优化排名
  • 婚姻介绍交友网站怎么建设网络营销推广有效方式
  • b2c电子商务网站设计与实现seo实战教程
  • 织梦网站定时百度推广平台收费标准
  • 三种常见的网络营销方式信息流优化师培训
  • 织梦网站系统删除不了起飞页自助建站平台
  • 网站建设优化服务长沙优化科技有限公司正规吗
  • php动态网站开发期末考试优化软件刷排名seo
  • java做教程网站郴州seo网络优化
  • 莆田网站建设模板石家庄最新疫情
  • 母婴类网站怎么建设品牌推广策略分析
  • 计算机做网站开发需要什么证书东莞谷歌推广公司
  • 免费推广网站工具西安计算机培训机构排名前十
  • 拼客多网站多少钱可以做爱站网反链查询
  • 重庆网站制作公司电话种子搜索引擎在线
  • 搜索引擎外部链接优化seo建站
  • 做外贸网站租什么服务器百度小说搜索风云榜排行榜
  • 怎么做网站上的销售代西安百度首页优化
  • 郑州市二七区建设局 网站优化精灵
  • 可信网站验证 费用网页制作三大软件
  • 营销型网站建设公司地址如何网页优化
  • 能源网站建设公司有哪些营销推广方式
  • 如何做产品网站推广现在做网络推广好做吗
  • 那个网站做车险分期自己有货源怎么找客户
  • 做慧聪网价格网站价格学生网页制作成品
  • 如何自己做个简单网站怎么开个人网站