abp之Domain Services(三)

Domain Services 是领域层的。在core 中就有关于Domain Services的东西。

在core中有好多manager 结束的类,比如UserManager,

  public class UserManager : AbpUserManager<Role, User>

    {//....................................}。

IDomainService最终会实现IDomainService这个接口,这个接口虽然啥也没有,只是说明这个是领域服务。这样他就相当于配置了依赖注入。

用法:在 下面的这个控制器中,注入了Usermanager。下面就直接调用了FindAllAsync方法,这就是UI上层调用领域。

public class AccountController : SimpleTaskAppControllerBase
    {
        private readonly UserManager _userManager;
   //
   }  

        [UnitOfWork]
        protected virtual async Task<List<Tenant>> FindPossibleTenantsOfUserAsync(UserLoginInfo login)
        {
            List<User> allUsers;
            using (_unitOfWorkManager.Current.DisableFilter(AbpDataFilters.MayHaveTenant))
            {
                allUsers = await _userManager.FindAllAsync(login);
            }


            return allUsers
                .Where(u => u.TenantId != null)
                .Select(u => AsyncHelper.RunSync(() => _tenantManager.FindByIdAsync(u.TenantId.Value)))
                .ToList();
        }

Application项目有Application Service。实现了IApplicationService。他实现了一个空的接口ITransientDependency,这和IDomainService一样。

ITestTbAppService 为例,在TestTbsController中,注入了ITestTbAppService,这个是UI调用Application。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值