美文网首页.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