美文网首页.NET
.NET Core 依赖注入改造(附1)- Autowrite

.NET Core 依赖注入改造(附1)- Autowrite

作者: 冰麟轻武 | 来源:发表于2018-09-16 14:30 被阅读35次

    .NET Core 依赖注入改造(1)- 命名服务
    .NET Core 依赖注入改造(2)- 委托转换
    .NET Core 依赖注入改造(3)- ILogger
    .NET Core 依赖注入改造(4)- ActivatorUtilities
    .NET Core 依赖注入改造(5)- Context

    .NET Core 依赖注入改造(附1)- Autowrite

    一、

    今天有小伙伴问我,之前的一些改造怎么用在实际项目中。


    好吧。。。
    那就来一个让Controller支持Autowrite

    二、

    先在nuget中安装blqw.DI.ExtensionMethods

    blqw.DI.ExtensionMethods

    自定义 IControllerActivator 实例;
    为了方便,直接继承系统的DefaultControllerActivator

    class MyControllerActivator : DefaultControllerActivator
    {
        public MyControllerActivator(ITypeActivatorCache typeActivatorCache) 
            : base(typeActivatorCache) { }
    
        public override object Create(ControllerContext controllerContext)
        {
            var controller = base.Create(controllerContext);
            controllerContext.HttpContext.RequestServices.Autowrite(controller);
            return controller;
        }
    }
    

    四、

    ConfigureServices中注册MyControllerActivator

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        services.AddSingleton(typeof(IControllerActivator), typeof(MyControllerActivator));
    }
    

    五、

    测试一下


    嗯有了。

    相关文章

      网友评论

        本文标题:.NET Core 依赖注入改造(附1)- Autowrite

        本文链接:https://www.haomeiwen.com/subject/kmtfnftx.html