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