当前位置: 首页 > 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.15wanjia.com/news/161754.html

相关文章:

  • 建设网站实训报告书唐山建设网站
  • 建网站免费制作ppt的软件有哪些
  • 外贸门户网站seo小白入门教学
  • c 网站开发实例教学学校网站首页模板
  • 网站右下角广告代码传媒免费网站建设
  • 职业生涯规划网站开发背景郑州网站建设彳汉狮网络
  • 网站访问大小 计算流量iis做网站主目录选哪里
  • 郑州网站推广如何建立内外网网站
  • 中国建设移动门户网站wordpress时间中文版
  • word 关于做网站深圳专业网站建设企
  • 做营销型网站价格天元建设集团有限公司 李增启
  • c2c网站怎么做外包做网站不满意
  • 网站添加友情链接百度seo系统
  • 营销网站建设品牌企业买域名 个人博客 wordpress
  • 隆昌移动网站建设wordpress的html编辑器插件
  • 自适应网站开发语言网站可以做信息抓取吗
  • 国内优秀的设计网站推荐网站模板怎么使用教程
  • 国外看新闻app推荐厦门做网站优化哪家好
  • 宣威市住房和城乡建设局网站腾讯云建立wordpress
  • 网站建设结单 优帮云网站开发团队人员
  • 微信网站建设开发wordpress更换新主题
  • 网站设计有限公司怎么样重庆微信网站作公司
  • 浏览器的网站通知怎么做高端网站建设,恩愉科技
  • 沈阳定制网站wordpress 外链图片缩略图
  • 阿里云个人网站建设方案书南宁电脑培训网站开发
  • 漂亮的手机网站模板下载谷歌网站推广优化
  • 专做it招聘的网站wordpress 文字颜色 插件
  • 自家房子做民宿的网站如何让网站打不开 解析
  • 山西网站开发公司房地产新闻报道
  • 别人的做网站百度网站名称