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

公司网站建设的作用与意义网站排名快速见效的方法

公司网站建设的作用与意义,网站排名快速见效的方法,wordpress中页面编辑,网站好看的图标代码07 | 用Autofac增强容器能力#xff1a;引入面向切面编程#xff08;AOP#xff09;的能力这一节讲解使用第三方框架来扩展依赖注入容器什么情况下需要我们引入第三方容器组件#xff1f;大部分情况下#xff0c;默认的容器组件足够使用当需要一些非常特殊的场景如下… 07 | 用Autofac增强容器能力引入面向切面编程AOP的能力这一节讲解使用第三方框架来扩展依赖注入容器什么情况下需要我们引入第三方容器组件大部分情况下默认的容器组件足够使用当需要一些非常特殊的场景如下1、基于名称的注入需要把一个服务按照名称来区分它的不同实现的时候2、属性注入直接把服务注册到某一个类的属性里面去而不需要定义构造函数比如之前的 FromService 和 构造函数入参3、子容器可以理解为之前讲过的 Scope但实际上还可以用第三方的框架实现一些特殊的子容器4、基于动态代理的 AOP需要在服务中注入额外的行为的时候可以用动态代理的能力.NET Core 的依赖注入框架它的核心扩展点是 IserviceProviderFactory第三方的依赖注入容器都是用了这个类来作为扩展点把自己注入到整个框架里来也就是说在使用这些依赖注入框架的时候不需要关注说谁家的特性谁家的接口是什么样子只需要关注官方核心的定义就可以了不需要直接依赖这些框架源码链接https://github.com/witskeeper/geektime/tree/master/samples/DependencyInjectionAutofacDemo服务namespace DependencyInjectionAutofacDemo.Services {public interface IMyService{void ShowCode();}public class MyService : IMyService{public void ShowCode(){Console.WriteLine($MyService.ShowCode:{GetHashCode()});}}public class MyServiceV2 : IMyService{/// summary/// 用于演示属性注入的方式/// /summarypublic MyNameService NameService { get; set; }public void ShowCode(){// 默认情况下NameService 为空如果注入成功则不为空Console.WriteLine($MyServiceV2.ShowCode:{GetHashCode()},NameService是否为空{NameService null});}}public class MyNameService{} }接下来看一下如何集成 Autofac使用 Autofac 是因为它是 .NET 社区里面最老牌的容器框架之一它有两个包Autofac.Extensions.DependencyInjectionAutofac.Extras.DynamicProxy引入这两个包就可以使用它来达到之前说的四种能力引入这两个包后需要在 Program 中添加一行代码.UseServiceProviderFactory(new AutofacServiceProviderFactory())UseServiceProviderFactory 是用于注册第三方容器的入口还有一个改动在 Startup 中我们需要添加一个 ConfigureContainer 方法它的入参是 Autofac 的 ContainerBuilderpublic void ConfigureContainer(ContainerBuilder builder)现在有两个 ConfigureServices一个是默认的一个是 ConfigureContainer服务注册进默认的容器之后实际上会被 Autofac 接替然后执行 ConfigureContainerAutofac 的注册方式与之前的注册方式不同先注册具体的实现然后再告诉它想把它标记为哪个服务的类型与之前的写法相反builder.RegisterTypeMyService().AsIMyService();接下来是命名注册当需要把一个服务注册多次并且用不同命名作为区分的时候可以用这种方式入参是一个服务名builder.RegisterTypeMyServiceV2().NamedIMyService(service2);如何使用它呢public ILifetimeScope AutofacContainer { get; private set; }public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {// 注册根容器this.AutofacContainer app.ApplicationServices.GetAutofacRoot();// Autofac 容器获取实例的方式是一组 Resolve 方法var service this.AutofacContainer.ResolveNamedIMyService(service2);service.ShowCode();...启动程序输出如下MyServiceV2.ShowCode:61566768,NameService是否为空True
http://www.huolong8.cn/news/175012/

相关文章:

  • 工程建设资料员报名网站如何做影视网站的标题
  • 企业网站设计的方案网站开发毕设论文
  • 网站开发后端做什么白城网站建设公司
  • 中通建设计院第四分公司网站青岛注册公司网站
  • 个人做网站要买什么域名vue php 哪个做网站 好
  • 做手机网站多少钱沈阳网站制作服务
  • 简约网站欣赏网站建设企划
  • 如何整理做网站的素材德阳装修公司
  • 珠海网站建设哪家公司好更换网站后台管理系统
  • 主流搭建网站大型门户类网站
  • 广州车陂网站建设公司哪里制作网站好
  • 做网站难千万不要报培训班学室内设计
  • 做百度手机网站优化织梦仿视频网站模板
  • 商城网站建设推荐无限免费视频直播
  • 鄂州网站建设推广报价长沙公交优化
  • 做网站人员有什么名称电商直播平台网站开发
  • wordpress自动发布网站只做自己网站
  • 烟台网站建设招聘创立制作网站公司
  • 网站设计评语个人做跨境电商的平台网站有哪些
  • 湖北网站开发启东做网站的网络公司有哪些
  • 怎么制作一个网站及小程序设计制作售卖
  • 公司注册网站怎么做重庆新增10个高风险区
  • 渭南做网站博创互联网站产品展示怎么做
  • 电子商务网站建设平台大连网站建设好的公司
  • 辽源做网站的公司网页设计心得体会学会了什么
  • 检测WordPress主题的网站海南网络
  • 怎么创建音乐网站wordpress简洁博客模板
  • 陕西住房和城乡建设厅网站电话找别人做网站需要什么信息
  • 网站建设技术服务税种分类app开发平台
  • 摄影师个人网站制作快速排名工具免费查询