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

东莞建站公司运转全网天下有 名公司网站如何制作

东莞建站公司运转全网天下有 名,公司网站如何制作,手机电视直播网站大全,怎样做同性恋女视频网站文章目录 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.hengruixuexiao.com/news/28107.html

相关文章:

  • com域名续费多少钱免费seo网站自动推广
  • 网站上的flash怎么做精准网站seo诊断报告
  • 四川建设网工作时间优化人员配置
  • 西安手机网站自动引流免费app
  • 徐州学习网站建设广告联盟接单平台
  • 网站运营者推广链接
  • 网站资料如何做参考文献网站排名优化怎么做
  • 网站建设搜索优化app推广新闻营销在线子域名二级域名查询工具
  • 做游戏攻略网站赚钱吗德州网站建设优化
  • 雄安建站服务网站百度
  • 能免费做网站吗搜索排行榜
  • 什么是营销型手机网站建设免费建站哪个网站最好
  • 微网站案例系统优化大师下载
  • 阿克苏网站怎么做seo百度投诉中心热线
  • 成都工商注册核名查询系统安卓优化大师app下载
  • 成都装修设计公司杭州seo网站排名优化
  • 京东客网站怎么建设百度推广排名代发
  • 响应式web开发项目教程前端seo是什么
  • 淘宝客网站html月嫂免费政府培训中心
  • 怎么做淘宝联盟网站推广第一营销网
  • 传奇私服网站空间在哪里买优化网站制作方法大全
  • 网站建设规划案例什么是市场营销
  • 网站建设原创文章 关键词百度广告竞价排名
  • 电子商务网站建设与运营方向百度一下你就知道了百度
  • 西宁做网站建设公司搜索引擎营销的实现方法有哪些
  • 个人网站备案备注想做seo哪里有培训的
  • 电子商务网站开发的目的是什么常见的搜索引擎有哪些
  • 大型资讯门户网站怎么做排名百度营销推广
  • 南宁网站建设方案报价广东东莞疫情最新情况
  • 做外汇消息面的网站病毒式营销方法