Abp vNext 番外篇丨服务替换

缘起

业务调整,们需要将Abp vNext的现有接口或服务进行重写.

正文

当我们需要重写掉abp的某些服务的时候如下面代码所示.

    [ExposeServices(typeof(IIdentityRoleAppService))]
    public class RoleAppService:IdentityRoleAppService
    {

    }

如果碰到无法重写的接口,比如abp默认没有写'virtual'我们无法'override'。

如果是接口我们可以用'[RemoteService]'新隐藏所有接口,然后单独给想暴露的接口打开true,无法'override'的接口就写个新的暴露出来.

当然你也可以更加暴力一点

 public override void PostConfigureServices(ServiceConfigurationContext context)
        {
            context.Services.Replace(new ServiceDescriptor(typeof(IAbpTenantAppService), typeof(RmsTenantAppService), ServiceLifetime.Scoped));
            base.PostConfigureServices(context);
        }

结语

也欢迎大家阅读我的Abp vNext系列教程

联系作者:加群:867095512 @MrChuJiu

posted @ 2022-06-02 15:48  初久的私房菜  阅读(607)  评论(0编辑  收藏  举报
作者:初久的私房菜
好好学习,天天向上
返回顶部小火箭
好友榜:
如果愿意,把你的博客地址放这里
张弛:https://blog.zhangchi.fun/