Browse Source

upgrade abp framework from 4.3.0 to 4.4.0

pull/289/head
cKey 4 years ago
parent
commit
794033575e
  1. 347
      aspnet-core/LINGYUN.MicroService.IdentityServer.sln
  2. 34
      aspnet-core/common.props
  3. 2
      aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN.Abp.Account.Application.Contracts.csproj
  4. 4
      aspnet-core/modules/account/LINGYUN.Abp.Account.Application/LINGYUN.Abp.Account.Application.csproj
  5. 6
      aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN.Abp.Account.Domain.Shared.csproj
  6. 6
      aspnet-core/modules/account/LINGYUN.Abp.Account.Domain/LINGYUN.Abp.Account.Domain.csproj
  7. 2
      aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN.Abp.Account.HttpApi.csproj
  8. 76
      aspnet-core/modules/account/LINGYUN.Abp.Account.Web/LINGYUN.Abp.Account.Web.csproj
  9. 4
      aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN.ApiGateway.Application.Contracts.csproj
  10. 34
      aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/ReRouteUpdateDto.cs
  11. 4
      aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application/LINGYUN.ApiGateway.Application.csproj
  12. 2
      aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain.Shared/LINGYUN.ApiGateway.Domain.Shared.csproj
  13. 4
      aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain/LINGYUN.ApiGateway.Domain.csproj
  14. 2
      aspnet-core/modules/apigateway/LINGYUN.ApiGateway.EntityFrameworkCore/LINGYUN.ApiGateway.EntityFrameworkCore.csproj
  15. 2
      aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi.Client/LINGYUN.ApiGateway.HttpApi.Client.csproj
  16. 2
      aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi/LINGYUN.ApiGateway.HttpApi.csproj
  17. 10
      aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application.Contracts/LINGYUN.Abp.Auditing.Application.Contracts.csproj
  18. 43
      aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application.Contracts/LINGYUN/Abp/Auditing/Logging/AuditLogGetByPagedDto.cs
  19. 8
      aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application/LINGYUN.Abp.Auditing.Application.csproj
  20. 124
      aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application/LINGYUN/Abp/Auditing/Logging/AuditLogAppService.cs
  21. 2
      aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.HttpApi/LINGYUN.Abp.Auditing.HttpApi.csproj
  22. 60
      aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun.SettingManagement/LINGYUN.Abp.Aliyun.SettingManagement.csproj
  23. 8
      aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun/LINGYUN.Abp.Aliyun.csproj
  24. 6
      aspnet-core/modules/cloud-tencent/LINGYUN.Abp.Tencent/LINGYUN.Abp.Tencent.csproj
  25. 2
      aspnet-core/modules/common/LINGYUN.Abp.Aliyun.Authorization/LINGYUN.Abp.Aliyun.Authorization.csproj
  26. 28
      aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.HttpOverrides/LINGYUN.Abp.AspNetCore.HttpOverrides.csproj
  27. 34
      aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.Mvc.Client/LINGYUN.Abp.AspNetCore.Mvc.Client.csproj
  28. 48
      aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.Mvc.Validation/LINGYUN.Abp.AspNetCore.Mvc.Validation.csproj
  29. 2
      aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.SignalR.Protocol.Json/LINGYUN.Abp.AspNetCore.SignalR.Protocol.Json.csproj
  30. 2
      aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.SignalR/LINGYUN.Abp.AspNetCore.SignalR.JwtToken.csproj
  31. 38
      aspnet-core/modules/common/LINGYUN.Abp.BackgroundJobs.Hangfire/LINGYUN.Abp.BackgroundJobs.Hangfire.csproj
  32. 30
      aspnet-core/modules/common/LINGYUN.Abp.BackgroundWorkers.Hangfire/LINGYUN.Abp.BackgroundWorkers.Hangfire.csproj
  33. 6
      aspnet-core/modules/common/LINGYUN.Abp.BlobStoring.Aliyun/LINGYUN.Abp.BlobStoring.Aliyun.csproj
  34. 30
      aspnet-core/modules/common/LINGYUN.Abp.Core/LINGYUN.Abp.Core.csproj
  35. 2
      aspnet-core/modules/common/LINGYUN.Abp.DistributedLock.Redis/LINGYUN.Abp.DistributedLock.Redis.csproj
  36. 2
      aspnet-core/modules/common/LINGYUN.Abp.Domain.Entities.Events/LINGYUN.Abp.Domain.Entities.Events.csproj
  37. 234
      aspnet-core/modules/common/LINGYUN.Abp.EventBus.CAP/DotNetCore/CAP/Processor/AbpCapProcessingServer.cs
  38. 40
      aspnet-core/modules/common/LINGYUN.Abp.EventBus.CAP/LINGYUN.Abp.EventBus.CAP.csproj
  39. 911
      aspnet-core/modules/common/LINGYUN.Abp.EventBus.CAP/LINGYUN.Abp.EventBus.CAP.xml
  40. 490
      aspnet-core/modules/common/LINGYUN.Abp.EventBus.CAP/LINGYUN/Abp/EventBus/CAP/CAPDistributedEventBus.cs
  41. 2
      aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling.Emailing/LINGYUN.Abp.ExceptionHandling.Emailing.csproj
  42. 2
      aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling.Notifications/LINGYUN.Abp.ExceptionHandling.Notifications.csproj
  43. 2
      aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling/LINGYUN.Abp.ExceptionHandling.csproj
  44. 30
      aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation.Redis.Client/LINGYUN.Abp.Features.LimitValidation.Redis.Client.csproj
  45. 2
      aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation.Redis/LINGYUN.Abp.Features.LimitValidation.Redis.csproj
  46. 2
      aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation/LINGYUN.Abp.Features.LimitValidation.csproj
  47. 50
      aspnet-core/modules/common/LINGYUN.Abp.Hangfire.Dashboard/LINGYUN.Abp.Hangfire.Dashboard.csproj
  48. 30
      aspnet-core/modules/common/LINGYUN.Abp.Hangfire.MySqlStorage/LINGYUN.Abp.Hangfire.Storage.MySql.csproj
  49. 4
      aspnet-core/modules/common/LINGYUN.Abp.Hangfire.Storage.SqlServer/LINGYUN.Abp.Hangfire.Storage.SqlServer.csproj
  50. 4
      aspnet-core/modules/common/LINGYUN.Abp.IM.SignalR/LINGYUN.Abp.IM.SignalR.csproj
  51. 8
      aspnet-core/modules/common/LINGYUN.Abp.IM/LINGYUN.Abp.IM.csproj
  52. 4
      aspnet-core/modules/common/LINGYUN.Abp.IdentityModel/LINGYUN.Abp.IdentityModel.csproj
  53. 30
      aspnet-core/modules/common/LINGYUN.Abp.Localization.Dynamic/LINGYUN.Abp.Localization.Dynamic.csproj
  54. 58
      aspnet-core/modules/common/LINGYUN.Abp.Location.Amap/LINGYUN.Abp.Location.Amap.csproj
  55. 6
      aspnet-core/modules/common/LINGYUN.Abp.Location.Baidu/LINGYUN.Abp.Location.Baidu.csproj
  56. 6
      aspnet-core/modules/common/LINGYUN.Abp.Location.Tencent/LINGYUN.Abp.Location.Tencent.csproj
  57. 2
      aspnet-core/modules/common/LINGYUN.Abp.Location/LINGYUN.Abp.Location.csproj
  58. 4
      aspnet-core/modules/common/LINGYUN.Abp.Notifications.SignalR/LINGYUN.Abp.Notifications.SignalR.csproj
  59. 2
      aspnet-core/modules/common/LINGYUN.Abp.Notifications.Sms/LINGYUN.Abp.Notifications.Sms.csproj
  60. 28
      aspnet-core/modules/common/LINGYUN.Abp.Notifications.Workers/LINGYUN.Abp.Notifications.Workers.csproj
  61. 42
      aspnet-core/modules/common/LINGYUN.Abp.Notifications/LINGYUN.Abp.Notifications.csproj
  62. 2
      aspnet-core/modules/common/LINGYUN.Abp.RealTime.SignalR/LINGYUN.Abp.RealTime.SignalR.csproj
  63. 4
      aspnet-core/modules/common/LINGYUN.Abp.RealTime/LINGYUN.Abp.RealTime.csproj
  64. 2
      aspnet-core/modules/common/LINGYUN.Abp.Settings/LINGYUN.Abp.Settings.csproj
  65. 58
      aspnet-core/modules/common/LINGYUN.Abp.Sms.Aliyun/LINGYUN.Abp.Sms.Aliyun.csproj
  66. 24
      aspnet-core/modules/console/LINGYUN.Abp.Encryption.Console/LINGYUN.Abp.Encryption.Console.csproj
  67. 30
      aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Actors.AspNetCore/LINGYUN.Abp.Dapr.Actors.AspNetCore.csproj
  68. 28
      aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Actors/LINGYUN.Abp.Dapr.Actors.csproj
  69. 26
      aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Client/LINGYUN.Abp.Dapr.Client.csproj
  70. 4
      aspnet-core/modules/features/LINGYUN.Abp.FeatureManagement.Client/LINGYUN.Abp.FeatureManagement.Client.csproj
  71. 2
      aspnet-core/modules/features/LINGYUN.Abp.Features.Client/LINGYUN.Abp.Features.Client.csproj
  72. 2
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN.Abp.Identity.Application.Contracts.csproj
  73. 30
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/AbpIdentityApplicationContractsModule.cs
  74. 111
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/IIdentityUserAppService.cs
  75. 2
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application/LINGYUN.Abp.Identity.Application.csproj
  76. 323
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application/LINGYUN/Abp/Identity/IdentityUserAppService.cs
  77. 2
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain.Shared/LINGYUN.Abp.Identity.Domain.Shared.csproj
  78. 2
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain/LINGYUN.Abp.Identity.Domain.csproj
  79. 2
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.EntityFrameworkCore/LINGYUN.Abp.Identity.EntityFrameworkCore.csproj
  80. 2
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi.Client/LINGYUN.Abp.Identity.HttpApi.Client.csproj
  81. 2
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi/LINGYUN.Abp.Identity.HttpApi.csproj
  82. 204
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi/LINGYUN/Abp/Identity/IdentityUserController.cs
  83. 4
      aspnet-core/modules/identity/LINGYUN.Abp.PermissionManagement.Domain.Identity/LINGYUN.Abp.PermissionManagement.Domain.Identity.csproj
  84. 181
      aspnet-core/modules/identity/LINGYUN.Abp.PermissionManagement.Domain.Identity/LINGYUN/Abp/PermissionManagement/Identity/IdentityPermissionManager.cs
  85. 6
      aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN.Abp.IdentityServer.Application.Contracts.csproj
  86. 38
      aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN.Abp.IdentityServer.Application.csproj
  87. 2
      aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Domain/LINGYUN.Abp.IdentityServer.Domain.csproj
  88. 2
      aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.EntityFrameworkCore/LINGYUN.Abp.IdentityServer.EntityFrameworkCore.csproj
  89. 2
      aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.HttpApi/LINGYUN.Abp.IdentityServer.HttpApi.csproj
  90. 2
      aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.SmsValidator/LINGYUN.Abp.IdentityServer.SmsValidator.csproj
  91. 2
      aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.WeChat/LINGYUN.Abp.IdentityServer.WeChat.csproj
  92. 6
      aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.WeChatValidator/LINGYUN.Abp.IdentityServer.WeChatValidator.csproj
  93. 30
      aspnet-core/modules/localization/LINGYUN.Abp.Localization.Json/LINGYUN.Abp.Localization.Json.csproj
  94. 30
      aspnet-core/modules/localization/LINGYUN.Abp.Localization.Xml/LINGYUN.Abp.Localization.Xml.csproj
  95. 38
      aspnet-core/modules/lt/LINGYUN.Abp.LocalizationManagement.Application.Contracts/LINGYUN.Abp.LocalizationManagement.Application.Contracts.csproj
  96. 38
      aspnet-core/modules/lt/LINGYUN.Abp.LocalizationManagement.Application/LINGYUN.Abp.LocalizationManagement.Application.csproj
  97. 50
      aspnet-core/modules/lt/LINGYUN.Abp.LocalizationManagement.Domain.Shared/LINGYUN.Abp.LocalizationManagement.Domain.Shared.csproj
  98. 40
      aspnet-core/modules/lt/LINGYUN.Abp.LocalizationManagement.Domain/LINGYUN.Abp.LocalizationManagement.Domain.csproj
  99. 36
      aspnet-core/modules/lt/LINGYUN.Abp.LocalizationManagement.EntityFrameworkCore/LINGYUN.Abp.LocalizationManagement.EntityFrameworkCore.csproj
  100. 36
      aspnet-core/modules/lt/LINGYUN.Abp.LocalizationManagement.HttpApi/LINGYUN.Abp.LocalizationManagement.HttpApi.csproj

347
aspnet-core/LINGYUN.MicroService.IdentityServer.sln

@ -1,169 +1,178 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16 # Visual Studio Version 16
VisualStudioVersion = 16.0.30011.22 VisualStudioVersion = 16.0.30011.22
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "modules", "modules", "{7C727110-59CA-495B-8143-C5DDEDE41289}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "modules", "modules", "{7C727110-59CA-495B-8143-C5DDEDE41289}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{DDCA574F-911B-4547-BA21-12CCE1022D95}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{DDCA574F-911B-4547-BA21-12CCE1022D95}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AuthServer.Host", "services\account\AuthServer.Host\AuthServer.Host.csproj", "{BF8073FF-6403-4ED6-A3CD-74F240DC8044}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AuthServer.Host", "services\account\AuthServer.Host\AuthServer.Host.csproj", "{BF8073FF-6403-4ED6-A3CD-74F240DC8044}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "identity-server", "identity-server", "{98887A8F-7040-4FA1-842F-A4C77A61ED09}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "identity-server", "identity-server", "{98887A8F-7040-4FA1-842F-A4C77A61ED09}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.IdentityServer.SmsValidator", "modules\identityServer\LINGYUN.Abp.IdentityServer.SmsValidator\LINGYUN.Abp.IdentityServer.SmsValidator.csproj", "{9EA06629-DBAC-4369-9850-B7415D0470B0}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.IdentityServer.SmsValidator", "modules\identityServer\LINGYUN.Abp.IdentityServer.SmsValidator\LINGYUN.Abp.IdentityServer.SmsValidator.csproj", "{9EA06629-DBAC-4369-9850-B7415D0470B0}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "identity", "identity", "{70B8D735-1E89-4163-8EDB-56A74E374CF4}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "identity", "identity", "{70B8D735-1E89-4163-8EDB-56A74E374CF4}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.PermissionManagement.Domain.Identity", "modules\identity\LINGYUN.Abp.PermissionManagement.Domain.Identity\LINGYUN.Abp.PermissionManagement.Domain.Identity.csproj", "{F87B2BA3-40BC-4CB8-B53E-793C860F285D}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.PermissionManagement.Domain.Identity", "modules\identity\LINGYUN.Abp.PermissionManagement.Domain.Identity\LINGYUN.Abp.PermissionManagement.Domain.Identity.csproj", "{F87B2BA3-40BC-4CB8-B53E-793C860F285D}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "wechat", "wechat", "{AF8AECC8-0F42-4FC5-B3C0-00987BA8279F}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "wechat", "wechat", "{AF8AECC8-0F42-4FC5-B3C0-00987BA8279F}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "permission-management", "permission-management", "{2FEA83BA-2E6D-40AF-8781-12CFD042457F}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "permission-management", "permission-management", "{2FEA83BA-2E6D-40AF-8781-12CFD042457F}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.PermissionManagement.Domain", "modules\permissions-management\LINGYUN.Abp.PermissionManagement.Domain\LINGYUN.Abp.PermissionManagement.Domain.csproj", "{A0A11373-635B-4343-8EE7-1DFC3611F05A}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.PermissionManagement.Domain", "modules\permissions-management\LINGYUN.Abp.PermissionManagement.Domain\LINGYUN.Abp.PermissionManagement.Domain.csproj", "{A0A11373-635B-4343-8EE7-1DFC3611F05A}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.WeChat", "modules\wechat\LINGYUN.Abp.WeChat\LINGYUN.Abp.WeChat.csproj", "{6F13C138-1D71-48F5-A404-94047242E98F}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.WeChat", "modules\wechat\LINGYUN.Abp.WeChat\LINGYUN.Abp.WeChat.csproj", "{6F13C138-1D71-48F5-A404-94047242E98F}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "common", "common", "{572DBB40-4637-4C01-8491-8686F7E22B45}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "common", "common", "{572DBB40-4637-4C01-8491-8686F7E22B45}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.EventBus.CAP", "modules\common\LINGYUN.Abp.EventBus.CAP\LINGYUN.Abp.EventBus.CAP.csproj", "{843012AC-78C3-4A25-904C-353ED26C8524}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.EventBus.CAP", "modules\common\LINGYUN.Abp.EventBus.CAP\LINGYUN.Abp.EventBus.CAP.csproj", "{843012AC-78C3-4A25-904C-353ED26C8524}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.MultiTenancy.DbFinder", "modules\tenants\LINGYUN.Abp.MultiTenancy.DbFinder\LINGYUN.Abp.MultiTenancy.DbFinder.csproj", "{FEEA68C2-D545-4AD6-81C7-71D0E2747CC3}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.MultiTenancy.DbFinder", "modules\tenants\LINGYUN.Abp.MultiTenancy.DbFinder\LINGYUN.Abp.MultiTenancy.DbFinder.csproj", "{FEEA68C2-D545-4AD6-81C7-71D0E2747CC3}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.MultiTenancy", "modules\tenants\LINGYUN.Abp.MultiTenancy\LINGYUN.Abp.MultiTenancy.csproj", "{D879BE04-BEFC-423B-868C-E8BA10605E16}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.MultiTenancy", "modules\tenants\LINGYUN.Abp.MultiTenancy\LINGYUN.Abp.MultiTenancy.csproj", "{D879BE04-BEFC-423B-868C-E8BA10605E16}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tenants", "tenants", "{6CB9D0F3-8D50-49B5-98E2-D777717E51E8}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tenants", "tenants", "{6CB9D0F3-8D50-49B5-98E2-D777717E51E8}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Aliyun.Authorization", "modules\common\LINGYUN.Abp.Aliyun.Authorization\LINGYUN.Abp.Aliyun.Authorization.csproj", "{C675C7DB-5825-4F64-BF76-8A4452A448D2}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Aliyun.Authorization", "modules\common\LINGYUN.Abp.Aliyun.Authorization\LINGYUN.Abp.Aliyun.Authorization.csproj", "{C675C7DB-5825-4F64-BF76-8A4452A448D2}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Sms.Aliyun", "modules\common\LINGYUN.Abp.Sms.Aliyun\LINGYUN.Abp.Sms.Aliyun.csproj", "{A51E2EB5-EEC0-4FB0-99B9-A0FBE0D8B0EB}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Sms.Aliyun", "modules\common\LINGYUN.Abp.Sms.Aliyun\LINGYUN.Abp.Sms.Aliyun.csproj", "{A51E2EB5-EEC0-4FB0-99B9-A0FBE0D8B0EB}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Identity.Domain.Shared", "modules\identity\LINGYUN.Abp.Identity.Domain.Shared\LINGYUN.Abp.Identity.Domain.Shared.csproj", "{E5E51981-864A-4B54-8E50-B5AE8B81245C}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Identity.Domain.Shared", "modules\identity\LINGYUN.Abp.Identity.Domain.Shared\LINGYUN.Abp.Identity.Domain.Shared.csproj", "{E5E51981-864A-4B54-8E50-B5AE8B81245C}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Identity.Domain", "modules\identity\LINGYUN.Abp.Identity.Domain\LINGYUN.Abp.Identity.Domain.csproj", "{6514E12E-D97C-4311-8301-F270D4E04A9F}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Identity.Domain", "modules\identity\LINGYUN.Abp.Identity.Domain\LINGYUN.Abp.Identity.Domain.csproj", "{6514E12E-D97C-4311-8301-F270D4E04A9F}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Identity.EntityFrameworkCore", "modules\identity\LINGYUN.Abp.Identity.EntityFrameworkCore\LINGYUN.Abp.Identity.EntityFrameworkCore.csproj", "{77F424CB-75F2-4D7F-8B52-BBE2E09CB423}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Identity.EntityFrameworkCore", "modules\identity\LINGYUN.Abp.Identity.EntityFrameworkCore\LINGYUN.Abp.Identity.EntityFrameworkCore.csproj", "{77F424CB-75F2-4D7F-8B52-BBE2E09CB423}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.IdentityServer.EntityFrameworkCore", "modules\identityServer\LINGYUN.Abp.IdentityServer.EntityFrameworkCore\LINGYUN.Abp.IdentityServer.EntityFrameworkCore.csproj", "{644FAB8F-ED83-4539-AF43-8F8FE61EF778}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.IdentityServer.EntityFrameworkCore", "modules\identityServer\LINGYUN.Abp.IdentityServer.EntityFrameworkCore\LINGYUN.Abp.IdentityServer.EntityFrameworkCore.csproj", "{644FAB8F-ED83-4539-AF43-8F8FE61EF778}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.WeChat.MiniProgram", "modules\wechat\LINGYUN.Abp.WeChat.MiniProgram\LINGYUN.Abp.WeChat.MiniProgram.csproj", "{648D7B5D-8B78-4F90-BDE0-4AC50C902CC3}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.WeChat.MiniProgram", "modules\wechat\LINGYUN.Abp.WeChat.MiniProgram\LINGYUN.Abp.WeChat.MiniProgram.csproj", "{648D7B5D-8B78-4F90-BDE0-4AC50C902CC3}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.WeChat.Official", "modules\wechat\LINGYUN.Abp.WeChat.Official\LINGYUN.Abp.WeChat.Official.csproj", "{F762D1BB-66FB-421A-A917-D80B7DCC0DC0}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.WeChat.Official", "modules\wechat\LINGYUN.Abp.WeChat.Official\LINGYUN.Abp.WeChat.Official.csproj", "{F762D1BB-66FB-421A-A917-D80B7DCC0DC0}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.IdentityServer.WeChat", "modules\identityServer\LINGYUN.Abp.IdentityServer.WeChat\LINGYUN.Abp.IdentityServer.WeChat.csproj", "{D63C0CA8-554D-43F2-8DB4-8B464E4C1CDA}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.IdentityServer.WeChat", "modules\identityServer\LINGYUN.Abp.IdentityServer.WeChat\LINGYUN.Abp.IdentityServer.WeChat.csproj", "{D63C0CA8-554D-43F2-8DB4-8B464E4C1CDA}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.IdentityServer.Domain", "modules\identityServer\LINGYUN.Abp.IdentityServer.Domain\LINGYUN.Abp.IdentityServer.Domain.csproj", "{79CAF2CA-E9E1-48A5-A21F-3786383C12E0}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.IdentityServer.Domain", "modules\identityServer\LINGYUN.Abp.IdentityServer.Domain\LINGYUN.Abp.IdentityServer.Domain.csproj", "{79CAF2CA-E9E1-48A5-A21F-3786383C12E0}"
EndProject EndProject
Global Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "theming", "theming", "{1D7CE7E0-37AB-477B-919B-B1EB2899A17E}"
GlobalSection(SolutionConfigurationPlatforms) = preSolution EndProject
Debug|Any CPU = Debug|Any CPU Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.AspNetCore.Components.WebAssembly.AntDesign", "theming\Volo.Abp.AspNetCore.Components.WebAssembly.AntDesign\Volo.Abp.AspNetCore.Components.WebAssembly.AntDesign.csproj", "{596BB67C-7765-4481-9C8B-EAE0D9726B75}"
Release|Any CPU = Release|Any CPU EndProject
EndGlobalSection Global
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
{BF8073FF-6403-4ED6-A3CD-74F240DC8044}.Debug|Any CPU.ActiveCfg = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
{BF8073FF-6403-4ED6-A3CD-74F240DC8044}.Debug|Any CPU.Build.0 = Debug|Any CPU Release|Any CPU = Release|Any CPU
{BF8073FF-6403-4ED6-A3CD-74F240DC8044}.Release|Any CPU.ActiveCfg = Release|Any CPU EndGlobalSection
{BF8073FF-6403-4ED6-A3CD-74F240DC8044}.Release|Any CPU.Build.0 = Release|Any CPU GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9EA06629-DBAC-4369-9850-B7415D0470B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BF8073FF-6403-4ED6-A3CD-74F240DC8044}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9EA06629-DBAC-4369-9850-B7415D0470B0}.Debug|Any CPU.Build.0 = Debug|Any CPU {BF8073FF-6403-4ED6-A3CD-74F240DC8044}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9EA06629-DBAC-4369-9850-B7415D0470B0}.Release|Any CPU.ActiveCfg = Release|Any CPU {BF8073FF-6403-4ED6-A3CD-74F240DC8044}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9EA06629-DBAC-4369-9850-B7415D0470B0}.Release|Any CPU.Build.0 = Release|Any CPU {BF8073FF-6403-4ED6-A3CD-74F240DC8044}.Release|Any CPU.Build.0 = Release|Any CPU
{F87B2BA3-40BC-4CB8-B53E-793C860F285D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9EA06629-DBAC-4369-9850-B7415D0470B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F87B2BA3-40BC-4CB8-B53E-793C860F285D}.Debug|Any CPU.Build.0 = Debug|Any CPU {9EA06629-DBAC-4369-9850-B7415D0470B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F87B2BA3-40BC-4CB8-B53E-793C860F285D}.Release|Any CPU.ActiveCfg = Release|Any CPU {9EA06629-DBAC-4369-9850-B7415D0470B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F87B2BA3-40BC-4CB8-B53E-793C860F285D}.Release|Any CPU.Build.0 = Release|Any CPU {9EA06629-DBAC-4369-9850-B7415D0470B0}.Release|Any CPU.Build.0 = Release|Any CPU
{A0A11373-635B-4343-8EE7-1DFC3611F05A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F87B2BA3-40BC-4CB8-B53E-793C860F285D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A0A11373-635B-4343-8EE7-1DFC3611F05A}.Debug|Any CPU.Build.0 = Debug|Any CPU {F87B2BA3-40BC-4CB8-B53E-793C860F285D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A0A11373-635B-4343-8EE7-1DFC3611F05A}.Release|Any CPU.ActiveCfg = Release|Any CPU {F87B2BA3-40BC-4CB8-B53E-793C860F285D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A0A11373-635B-4343-8EE7-1DFC3611F05A}.Release|Any CPU.Build.0 = Release|Any CPU {F87B2BA3-40BC-4CB8-B53E-793C860F285D}.Release|Any CPU.Build.0 = Release|Any CPU
{6F13C138-1D71-48F5-A404-94047242E98F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A0A11373-635B-4343-8EE7-1DFC3611F05A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6F13C138-1D71-48F5-A404-94047242E98F}.Debug|Any CPU.Build.0 = Debug|Any CPU {A0A11373-635B-4343-8EE7-1DFC3611F05A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6F13C138-1D71-48F5-A404-94047242E98F}.Release|Any CPU.ActiveCfg = Release|Any CPU {A0A11373-635B-4343-8EE7-1DFC3611F05A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6F13C138-1D71-48F5-A404-94047242E98F}.Release|Any CPU.Build.0 = Release|Any CPU {A0A11373-635B-4343-8EE7-1DFC3611F05A}.Release|Any CPU.Build.0 = Release|Any CPU
{843012AC-78C3-4A25-904C-353ED26C8524}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6F13C138-1D71-48F5-A404-94047242E98F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{843012AC-78C3-4A25-904C-353ED26C8524}.Debug|Any CPU.Build.0 = Debug|Any CPU {6F13C138-1D71-48F5-A404-94047242E98F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{843012AC-78C3-4A25-904C-353ED26C8524}.Release|Any CPU.ActiveCfg = Release|Any CPU {6F13C138-1D71-48F5-A404-94047242E98F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{843012AC-78C3-4A25-904C-353ED26C8524}.Release|Any CPU.Build.0 = Release|Any CPU {6F13C138-1D71-48F5-A404-94047242E98F}.Release|Any CPU.Build.0 = Release|Any CPU
{FEEA68C2-D545-4AD6-81C7-71D0E2747CC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {843012AC-78C3-4A25-904C-353ED26C8524}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FEEA68C2-D545-4AD6-81C7-71D0E2747CC3}.Debug|Any CPU.Build.0 = Debug|Any CPU {843012AC-78C3-4A25-904C-353ED26C8524}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FEEA68C2-D545-4AD6-81C7-71D0E2747CC3}.Release|Any CPU.ActiveCfg = Release|Any CPU {843012AC-78C3-4A25-904C-353ED26C8524}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FEEA68C2-D545-4AD6-81C7-71D0E2747CC3}.Release|Any CPU.Build.0 = Release|Any CPU {843012AC-78C3-4A25-904C-353ED26C8524}.Release|Any CPU.Build.0 = Release|Any CPU
{D879BE04-BEFC-423B-868C-E8BA10605E16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FEEA68C2-D545-4AD6-81C7-71D0E2747CC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D879BE04-BEFC-423B-868C-E8BA10605E16}.Debug|Any CPU.Build.0 = Debug|Any CPU {FEEA68C2-D545-4AD6-81C7-71D0E2747CC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D879BE04-BEFC-423B-868C-E8BA10605E16}.Release|Any CPU.ActiveCfg = Release|Any CPU {FEEA68C2-D545-4AD6-81C7-71D0E2747CC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D879BE04-BEFC-423B-868C-E8BA10605E16}.Release|Any CPU.Build.0 = Release|Any CPU {FEEA68C2-D545-4AD6-81C7-71D0E2747CC3}.Release|Any CPU.Build.0 = Release|Any CPU
{C675C7DB-5825-4F64-BF76-8A4452A448D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D879BE04-BEFC-423B-868C-E8BA10605E16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C675C7DB-5825-4F64-BF76-8A4452A448D2}.Debug|Any CPU.Build.0 = Debug|Any CPU {D879BE04-BEFC-423B-868C-E8BA10605E16}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C675C7DB-5825-4F64-BF76-8A4452A448D2}.Release|Any CPU.ActiveCfg = Release|Any CPU {D879BE04-BEFC-423B-868C-E8BA10605E16}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C675C7DB-5825-4F64-BF76-8A4452A448D2}.Release|Any CPU.Build.0 = Release|Any CPU {D879BE04-BEFC-423B-868C-E8BA10605E16}.Release|Any CPU.Build.0 = Release|Any CPU
{A51E2EB5-EEC0-4FB0-99B9-A0FBE0D8B0EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C675C7DB-5825-4F64-BF76-8A4452A448D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A51E2EB5-EEC0-4FB0-99B9-A0FBE0D8B0EB}.Debug|Any CPU.Build.0 = Debug|Any CPU {C675C7DB-5825-4F64-BF76-8A4452A448D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A51E2EB5-EEC0-4FB0-99B9-A0FBE0D8B0EB}.Release|Any CPU.ActiveCfg = Release|Any CPU {C675C7DB-5825-4F64-BF76-8A4452A448D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A51E2EB5-EEC0-4FB0-99B9-A0FBE0D8B0EB}.Release|Any CPU.Build.0 = Release|Any CPU {C675C7DB-5825-4F64-BF76-8A4452A448D2}.Release|Any CPU.Build.0 = Release|Any CPU
{E5E51981-864A-4B54-8E50-B5AE8B81245C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A51E2EB5-EEC0-4FB0-99B9-A0FBE0D8B0EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E5E51981-864A-4B54-8E50-B5AE8B81245C}.Debug|Any CPU.Build.0 = Debug|Any CPU {A51E2EB5-EEC0-4FB0-99B9-A0FBE0D8B0EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E5E51981-864A-4B54-8E50-B5AE8B81245C}.Release|Any CPU.ActiveCfg = Release|Any CPU {A51E2EB5-EEC0-4FB0-99B9-A0FBE0D8B0EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E5E51981-864A-4B54-8E50-B5AE8B81245C}.Release|Any CPU.Build.0 = Release|Any CPU {A51E2EB5-EEC0-4FB0-99B9-A0FBE0D8B0EB}.Release|Any CPU.Build.0 = Release|Any CPU
{6514E12E-D97C-4311-8301-F270D4E04A9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E5E51981-864A-4B54-8E50-B5AE8B81245C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6514E12E-D97C-4311-8301-F270D4E04A9F}.Debug|Any CPU.Build.0 = Debug|Any CPU {E5E51981-864A-4B54-8E50-B5AE8B81245C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6514E12E-D97C-4311-8301-F270D4E04A9F}.Release|Any CPU.ActiveCfg = Release|Any CPU {E5E51981-864A-4B54-8E50-B5AE8B81245C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6514E12E-D97C-4311-8301-F270D4E04A9F}.Release|Any CPU.Build.0 = Release|Any CPU {E5E51981-864A-4B54-8E50-B5AE8B81245C}.Release|Any CPU.Build.0 = Release|Any CPU
{77F424CB-75F2-4D7F-8B52-BBE2E09CB423}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6514E12E-D97C-4311-8301-F270D4E04A9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{77F424CB-75F2-4D7F-8B52-BBE2E09CB423}.Debug|Any CPU.Build.0 = Debug|Any CPU {6514E12E-D97C-4311-8301-F270D4E04A9F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{77F424CB-75F2-4D7F-8B52-BBE2E09CB423}.Release|Any CPU.ActiveCfg = Release|Any CPU {6514E12E-D97C-4311-8301-F270D4E04A9F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{77F424CB-75F2-4D7F-8B52-BBE2E09CB423}.Release|Any CPU.Build.0 = Release|Any CPU {6514E12E-D97C-4311-8301-F270D4E04A9F}.Release|Any CPU.Build.0 = Release|Any CPU
{644FAB8F-ED83-4539-AF43-8F8FE61EF778}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {77F424CB-75F2-4D7F-8B52-BBE2E09CB423}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{644FAB8F-ED83-4539-AF43-8F8FE61EF778}.Debug|Any CPU.Build.0 = Debug|Any CPU {77F424CB-75F2-4D7F-8B52-BBE2E09CB423}.Debug|Any CPU.Build.0 = Debug|Any CPU
{644FAB8F-ED83-4539-AF43-8F8FE61EF778}.Release|Any CPU.ActiveCfg = Release|Any CPU {77F424CB-75F2-4D7F-8B52-BBE2E09CB423}.Release|Any CPU.ActiveCfg = Release|Any CPU
{644FAB8F-ED83-4539-AF43-8F8FE61EF778}.Release|Any CPU.Build.0 = Release|Any CPU {77F424CB-75F2-4D7F-8B52-BBE2E09CB423}.Release|Any CPU.Build.0 = Release|Any CPU
{648D7B5D-8B78-4F90-BDE0-4AC50C902CC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {644FAB8F-ED83-4539-AF43-8F8FE61EF778}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{648D7B5D-8B78-4F90-BDE0-4AC50C902CC3}.Debug|Any CPU.Build.0 = Debug|Any CPU {644FAB8F-ED83-4539-AF43-8F8FE61EF778}.Debug|Any CPU.Build.0 = Debug|Any CPU
{648D7B5D-8B78-4F90-BDE0-4AC50C902CC3}.Release|Any CPU.ActiveCfg = Release|Any CPU {644FAB8F-ED83-4539-AF43-8F8FE61EF778}.Release|Any CPU.ActiveCfg = Release|Any CPU
{648D7B5D-8B78-4F90-BDE0-4AC50C902CC3}.Release|Any CPU.Build.0 = Release|Any CPU {644FAB8F-ED83-4539-AF43-8F8FE61EF778}.Release|Any CPU.Build.0 = Release|Any CPU
{F762D1BB-66FB-421A-A917-D80B7DCC0DC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {648D7B5D-8B78-4F90-BDE0-4AC50C902CC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F762D1BB-66FB-421A-A917-D80B7DCC0DC0}.Debug|Any CPU.Build.0 = Debug|Any CPU {648D7B5D-8B78-4F90-BDE0-4AC50C902CC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F762D1BB-66FB-421A-A917-D80B7DCC0DC0}.Release|Any CPU.ActiveCfg = Release|Any CPU {648D7B5D-8B78-4F90-BDE0-4AC50C902CC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F762D1BB-66FB-421A-A917-D80B7DCC0DC0}.Release|Any CPU.Build.0 = Release|Any CPU {648D7B5D-8B78-4F90-BDE0-4AC50C902CC3}.Release|Any CPU.Build.0 = Release|Any CPU
{D63C0CA8-554D-43F2-8DB4-8B464E4C1CDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F762D1BB-66FB-421A-A917-D80B7DCC0DC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D63C0CA8-554D-43F2-8DB4-8B464E4C1CDA}.Debug|Any CPU.Build.0 = Debug|Any CPU {F762D1BB-66FB-421A-A917-D80B7DCC0DC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D63C0CA8-554D-43F2-8DB4-8B464E4C1CDA}.Release|Any CPU.ActiveCfg = Release|Any CPU {F762D1BB-66FB-421A-A917-D80B7DCC0DC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D63C0CA8-554D-43F2-8DB4-8B464E4C1CDA}.Release|Any CPU.Build.0 = Release|Any CPU {F762D1BB-66FB-421A-A917-D80B7DCC0DC0}.Release|Any CPU.Build.0 = Release|Any CPU
{79CAF2CA-E9E1-48A5-A21F-3786383C12E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D63C0CA8-554D-43F2-8DB4-8B464E4C1CDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{79CAF2CA-E9E1-48A5-A21F-3786383C12E0}.Debug|Any CPU.Build.0 = Debug|Any CPU {D63C0CA8-554D-43F2-8DB4-8B464E4C1CDA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{79CAF2CA-E9E1-48A5-A21F-3786383C12E0}.Release|Any CPU.ActiveCfg = Release|Any CPU {D63C0CA8-554D-43F2-8DB4-8B464E4C1CDA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{79CAF2CA-E9E1-48A5-A21F-3786383C12E0}.Release|Any CPU.Build.0 = Release|Any CPU {D63C0CA8-554D-43F2-8DB4-8B464E4C1CDA}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection {79CAF2CA-E9E1-48A5-A21F-3786383C12E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
GlobalSection(SolutionProperties) = preSolution {79CAF2CA-E9E1-48A5-A21F-3786383C12E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
HideSolutionNode = FALSE {79CAF2CA-E9E1-48A5-A21F-3786383C12E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection {79CAF2CA-E9E1-48A5-A21F-3786383C12E0}.Release|Any CPU.Build.0 = Release|Any CPU
GlobalSection(NestedProjects) = preSolution {596BB67C-7765-4481-9C8B-EAE0D9726B75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BF8073FF-6403-4ED6-A3CD-74F240DC8044} = {DDCA574F-911B-4547-BA21-12CCE1022D95} {596BB67C-7765-4481-9C8B-EAE0D9726B75}.Debug|Any CPU.Build.0 = Debug|Any CPU
{98887A8F-7040-4FA1-842F-A4C77A61ED09} = {7C727110-59CA-495B-8143-C5DDEDE41289} {596BB67C-7765-4481-9C8B-EAE0D9726B75}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9EA06629-DBAC-4369-9850-B7415D0470B0} = {98887A8F-7040-4FA1-842F-A4C77A61ED09} {596BB67C-7765-4481-9C8B-EAE0D9726B75}.Release|Any CPU.Build.0 = Release|Any CPU
{70B8D735-1E89-4163-8EDB-56A74E374CF4} = {7C727110-59CA-495B-8143-C5DDEDE41289} EndGlobalSection
{F87B2BA3-40BC-4CB8-B53E-793C860F285D} = {70B8D735-1E89-4163-8EDB-56A74E374CF4} GlobalSection(SolutionProperties) = preSolution
{AF8AECC8-0F42-4FC5-B3C0-00987BA8279F} = {7C727110-59CA-495B-8143-C5DDEDE41289} HideSolutionNode = FALSE
{2FEA83BA-2E6D-40AF-8781-12CFD042457F} = {7C727110-59CA-495B-8143-C5DDEDE41289} EndGlobalSection
{A0A11373-635B-4343-8EE7-1DFC3611F05A} = {2FEA83BA-2E6D-40AF-8781-12CFD042457F} GlobalSection(NestedProjects) = preSolution
{6F13C138-1D71-48F5-A404-94047242E98F} = {AF8AECC8-0F42-4FC5-B3C0-00987BA8279F} {BF8073FF-6403-4ED6-A3CD-74F240DC8044} = {DDCA574F-911B-4547-BA21-12CCE1022D95}
{572DBB40-4637-4C01-8491-8686F7E22B45} = {7C727110-59CA-495B-8143-C5DDEDE41289} {98887A8F-7040-4FA1-842F-A4C77A61ED09} = {7C727110-59CA-495B-8143-C5DDEDE41289}
{843012AC-78C3-4A25-904C-353ED26C8524} = {572DBB40-4637-4C01-8491-8686F7E22B45} {9EA06629-DBAC-4369-9850-B7415D0470B0} = {98887A8F-7040-4FA1-842F-A4C77A61ED09}
{FEEA68C2-D545-4AD6-81C7-71D0E2747CC3} = {6CB9D0F3-8D50-49B5-98E2-D777717E51E8} {70B8D735-1E89-4163-8EDB-56A74E374CF4} = {7C727110-59CA-495B-8143-C5DDEDE41289}
{D879BE04-BEFC-423B-868C-E8BA10605E16} = {6CB9D0F3-8D50-49B5-98E2-D777717E51E8} {F87B2BA3-40BC-4CB8-B53E-793C860F285D} = {70B8D735-1E89-4163-8EDB-56A74E374CF4}
{6CB9D0F3-8D50-49B5-98E2-D777717E51E8} = {7C727110-59CA-495B-8143-C5DDEDE41289} {AF8AECC8-0F42-4FC5-B3C0-00987BA8279F} = {7C727110-59CA-495B-8143-C5DDEDE41289}
{C675C7DB-5825-4F64-BF76-8A4452A448D2} = {572DBB40-4637-4C01-8491-8686F7E22B45} {2FEA83BA-2E6D-40AF-8781-12CFD042457F} = {7C727110-59CA-495B-8143-C5DDEDE41289}
{A51E2EB5-EEC0-4FB0-99B9-A0FBE0D8B0EB} = {572DBB40-4637-4C01-8491-8686F7E22B45} {A0A11373-635B-4343-8EE7-1DFC3611F05A} = {2FEA83BA-2E6D-40AF-8781-12CFD042457F}
{E5E51981-864A-4B54-8E50-B5AE8B81245C} = {70B8D735-1E89-4163-8EDB-56A74E374CF4} {6F13C138-1D71-48F5-A404-94047242E98F} = {AF8AECC8-0F42-4FC5-B3C0-00987BA8279F}
{6514E12E-D97C-4311-8301-F270D4E04A9F} = {70B8D735-1E89-4163-8EDB-56A74E374CF4} {572DBB40-4637-4C01-8491-8686F7E22B45} = {7C727110-59CA-495B-8143-C5DDEDE41289}
{77F424CB-75F2-4D7F-8B52-BBE2E09CB423} = {70B8D735-1E89-4163-8EDB-56A74E374CF4} {843012AC-78C3-4A25-904C-353ED26C8524} = {572DBB40-4637-4C01-8491-8686F7E22B45}
{644FAB8F-ED83-4539-AF43-8F8FE61EF778} = {98887A8F-7040-4FA1-842F-A4C77A61ED09} {FEEA68C2-D545-4AD6-81C7-71D0E2747CC3} = {6CB9D0F3-8D50-49B5-98E2-D777717E51E8}
{648D7B5D-8B78-4F90-BDE0-4AC50C902CC3} = {AF8AECC8-0F42-4FC5-B3C0-00987BA8279F} {D879BE04-BEFC-423B-868C-E8BA10605E16} = {6CB9D0F3-8D50-49B5-98E2-D777717E51E8}
{F762D1BB-66FB-421A-A917-D80B7DCC0DC0} = {AF8AECC8-0F42-4FC5-B3C0-00987BA8279F} {6CB9D0F3-8D50-49B5-98E2-D777717E51E8} = {7C727110-59CA-495B-8143-C5DDEDE41289}
{D63C0CA8-554D-43F2-8DB4-8B464E4C1CDA} = {98887A8F-7040-4FA1-842F-A4C77A61ED09} {C675C7DB-5825-4F64-BF76-8A4452A448D2} = {572DBB40-4637-4C01-8491-8686F7E22B45}
{79CAF2CA-E9E1-48A5-A21F-3786383C12E0} = {98887A8F-7040-4FA1-842F-A4C77A61ED09} {A51E2EB5-EEC0-4FB0-99B9-A0FBE0D8B0EB} = {572DBB40-4637-4C01-8491-8686F7E22B45}
EndGlobalSection {E5E51981-864A-4B54-8E50-B5AE8B81245C} = {70B8D735-1E89-4163-8EDB-56A74E374CF4}
GlobalSection(ExtensibilityGlobals) = postSolution {6514E12E-D97C-4311-8301-F270D4E04A9F} = {70B8D735-1E89-4163-8EDB-56A74E374CF4}
SolutionGuid = {FCB77471-9ECB-4666-A316-1D6A6285A468} {77F424CB-75F2-4D7F-8B52-BBE2E09CB423} = {70B8D735-1E89-4163-8EDB-56A74E374CF4}
EndGlobalSection {644FAB8F-ED83-4539-AF43-8F8FE61EF778} = {98887A8F-7040-4FA1-842F-A4C77A61ED09}
EndGlobal {648D7B5D-8B78-4F90-BDE0-4AC50C902CC3} = {AF8AECC8-0F42-4FC5-B3C0-00987BA8279F}
{F762D1BB-66FB-421A-A917-D80B7DCC0DC0} = {AF8AECC8-0F42-4FC5-B3C0-00987BA8279F}
{D63C0CA8-554D-43F2-8DB4-8B464E4C1CDA} = {98887A8F-7040-4FA1-842F-A4C77A61ED09}
{79CAF2CA-E9E1-48A5-A21F-3786383C12E0} = {98887A8F-7040-4FA1-842F-A4C77A61ED09}
{596BB67C-7765-4481-9C8B-EAE0D9726B75} = {1D7CE7E0-37AB-477B-919B-B1EB2899A17E}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {FCB77471-9ECB-4666-A316-1D6A6285A468}
EndGlobalSection
EndGlobal

34
aspnet-core/common.props

@ -1,18 +1,18 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<LangVersion>latest</LangVersion> <LangVersion>latest</LangVersion>
<Version>4.3.0</Version> <Version>4.4.0</Version>
<Authors>LINGYUN</Authors> <Authors>LINGYUN</Authors>
<NoWarn>$(NoWarn);CS1591;CS0436</NoWarn> <NoWarn>$(NoWarn);CS1591;CS0436</NoWarn>
<PackageProjectUrl>https://github.com/colinin/abp-vue-admin-element-typescript/</PackageProjectUrl> <PackageProjectUrl>https://github.com/colinin/abp-vue-admin-element-typescript/</PackageProjectUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression> <PackageLicenseExpression>MIT</PackageLicenseExpression>
<RepositoryType>git</RepositoryType> <RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/colinin/abp-vue-admin-element-typescript/</RepositoryUrl> <RepositoryUrl>https://github.com/colinin/abp-vue-admin-element-typescript/</RepositoryUrl>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<OutputPath>$(SolutionDir)LocalNuget</OutputPath> <OutputPath>$(SolutionDir)LocalNuget</OutputPath>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

2
aspnet-core/modules/account/LINGYUN.Abp.Account.Application.Contracts/LINGYUN.Abp.Account.Application.Contracts.csproj

@ -18,7 +18,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Account.Application.Contracts" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Account.Application.Contracts" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

4
aspnet-core/modules/account/LINGYUN.Abp.Account.Application/LINGYUN.Abp.Account.Application.csproj

@ -8,8 +8,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Account.Application" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Account.Application" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Sms" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Sms" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

6
aspnet-core/modules/account/LINGYUN.Abp.Account.Domain.Shared/LINGYUN.Abp.Account.Domain.Shared.csproj

@ -8,11 +8,11 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Localization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Localization" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\identity\LINGYUN.Abp.Identity.Domain.Shared\LINGYUN.Abp.Identity.Domain.Shared.csproj" /> <ProjectReference Include="..\..\identity\LINGYUN.Abp.Identity.Domain.Shared\LINGYUN.Abp.Identity.Domain.Shared.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

6
aspnet-core/modules/account/LINGYUN.Abp.Account.Domain/LINGYUN.Abp.Account.Domain.csproj

@ -8,11 +8,11 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Identity.Domain" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Identity.Domain" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Microsoft\AspNetCore\Identity\" /> <Folder Include="Microsoft\AspNetCore\Identity\" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
aspnet-core/modules/account/LINGYUN.Abp.Account.HttpApi/LINGYUN.Abp.Account.HttpApi.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Account.HttpApi" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Account.HttpApi" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

76
aspnet-core/modules/account/LINGYUN.Abp.Account.Web/LINGYUN.Abp.Account.Web.csproj

@ -1,38 +1,38 @@
<Project Sdk="Microsoft.NET.Sdk.Web"> <Project Sdk="Microsoft.NET.Sdk.Web">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework> <TargetFramework>netcoreapp3.1</TargetFramework>
<AssemblyName>LINGYUN.Abp.Account.Web</AssemblyName> <AssemblyName>LINGYUN.Abp.Account.Web</AssemblyName>
<PackageId>LINGYUN.Abp.Account.Web</PackageId> <PackageId>LINGYUN.Abp.Account.Web</PackageId>
<IsPackable>true</IsPackable> <IsPackable>true</IsPackable>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback> <AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute> <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute> <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute> <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest> <GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
<RootNamespace>LINGYUN.Abp.Account.Web</RootNamespace> <RootNamespace>LINGYUN.Abp.Account.Web</RootNamespace>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="Pages\**\*.css" /> <EmbeddedResource Include="Pages\**\*.css" />
<EmbeddedResource Include="Pages\**\*.js" /> <EmbeddedResource Include="Pages\**\*.js" />
<EmbeddedResource Include="Components\**\*.js" /> <EmbeddedResource Include="Components\**\*.js" />
<EmbeddedResource Include="Components\**\*.css" /> <EmbeddedResource Include="Components\**\*.css" />
<Content Remove="Pages\**\*.css" /> <Content Remove="Pages\**\*.css" />
<Content Remove="Pages\**\*.js" /> <Content Remove="Pages\**\*.js" />
<Content Remove="Components\**\*.js" /> <Content Remove="Components\**\*.js" />
<Content Remove="Components\**\*.css" /> <Content Remove="Components\**\*.css" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Account.Web" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Account.Web" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Sms" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Sms" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Emailing" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Emailing" Version="4.4.0" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="3.1.8" /> <PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="3.1.8" />
</ItemGroup> </ItemGroup>
</Project> </Project>

4
aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN.ApiGateway.Application.Contracts.csproj

@ -18,8 +18,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Ddd.Application.Contracts" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Ddd.Application.Contracts" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Authorization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Authorization" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

34
aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application.Contracts/LINGYUN/ApiGateway/Ocelot/Dto/ReRouteUpdateDto.cs

@ -1,17 +1,17 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace LINGYUN.ApiGateway.Ocelot namespace LINGYUN.ApiGateway.Ocelot
{ {
public class ReRouteUpdateDto : ReRouteDtoBase public class ReRouteUpdateDto : ReRouteDtoBase
{ {
[Required] [Required]
public string ReRouteId { get; set; } public string ReRouteId { get; set; }
[Required] [Required]
public string ConcurrencyStamp { get; set; } public string ConcurrencyStamp { get; set; }
[StringLength(50)] [StringLength(50)]
public string ReRouteName { get; set; } public string ReRouteName { get; set; }
} }
} }

4
aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Application/LINGYUN.ApiGateway.Application.csproj

@ -8,8 +8,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AutoMapper" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AutoMapper" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Ddd.Application" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Ddd.Application" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain.Shared/LINGYUN.ApiGateway.Domain.Shared.csproj

@ -18,7 +18,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Localization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Localization" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

4
aspnet-core/modules/apigateway/LINGYUN.ApiGateway.Domain/LINGYUN.ApiGateway.Domain.csproj

@ -8,8 +8,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Caching" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Caching" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Ddd.Domain" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Ddd.Domain" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/apigateway/LINGYUN.ApiGateway.EntityFrameworkCore/LINGYUN.ApiGateway.EntityFrameworkCore.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.EntityFrameworkCore" Version="4.3.0" /> <PackageReference Include="Volo.Abp.EntityFrameworkCore" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi.Client/LINGYUN.ApiGateway.HttpApi.Client.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Http.Client" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Http.Client" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/apigateway/LINGYUN.ApiGateway.HttpApi/LINGYUN.ApiGateway.HttpApi.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

10
aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application.Contracts/LINGYUN.Abp.Auditing.Application.Contracts.csproj

@ -13,11 +13,11 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Features" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Features" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Authorization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Authorization" Version="4.4.0" />
<PackageReference Include="Volo.Abp.AuditLogging.Domain.Shared" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AuditLogging.Domain.Shared" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Identity.Domain.Shared" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Identity.Domain.Shared" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Ddd.Application.Contracts" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Ddd.Application.Contracts" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

43
aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application.Contracts/LINGYUN/Abp/Auditing/Logging/AuditLogGetByPagedDto.cs

@ -1,21 +1,22 @@
using System; using System;
using System.Net; using System.Net;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
namespace LINGYUN.Abp.Auditing.Logging namespace LINGYUN.Abp.Auditing.Logging
{ {
public class AuditLogGetByPagedDto : PagedAndSortedResultRequestDto public class AuditLogGetByPagedDto : PagedAndSortedResultRequestDto
{ {
public DateTime? StartTime { get; set; } public DateTime? StartTime { get; set; }
public DateTime? EndTime { get; set; } public DateTime? EndTime { get; set; }
public string HttpMethod { get; set; } public string HttpMethod { get; set; }
public string Url { get; set; } public string Url { get; set; }
public string UserName { get; set; } public Guid? UserId { get; set; }
public string ApplicationName { get; set; } public string UserName { get; set; }
public string CorrelationId { get; set; } public string ApplicationName { get; set; }
public int? MaxExecutionDuration { get; set; } public string CorrelationId { get; set; }
public int? MinExecutionDuration { get; set; } public int? MaxExecutionDuration { get; set; }
public bool? HasException { get; set; } public int? MinExecutionDuration { get; set; }
public HttpStatusCode? HttpStatusCode { get; set; } public bool? HasException { get; set; }
} public HttpStatusCode? HttpStatusCode { get; set; }
} }
}

8
aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application/LINGYUN.Abp.Auditing.Application.csproj

@ -8,10 +8,10 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AutoMapper" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AutoMapper" Version="4.4.0" />
<PackageReference Include="Volo.Abp.AuditLogging.Domain" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AuditLogging.Domain" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Identity.Domain" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Identity.Domain" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Ddd.Application" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Ddd.Application" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

124
aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application/LINGYUN/Abp/Auditing/Logging/AuditLogAppService.cs

@ -1,60 +1,64 @@
using LINGYUN.Abp.Auditing.Features; using LINGYUN.Abp.Auditing.Features;
using LINGYUN.Abp.Auditing.Permissions; using LINGYUN.Abp.Auditing.Permissions;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.AuditLogging; using Volo.Abp.AuditLogging;
using Volo.Abp.Features; using Volo.Abp.Features;
namespace LINGYUN.Abp.Auditing.Logging namespace LINGYUN.Abp.Auditing.Logging
{ {
[Authorize(AuditingPermissionNames.AuditLog.Default)] [Authorize(AuditingPermissionNames.AuditLog.Default)]
[RequiresFeature(AuditingFeatureNames.Logging.AuditLog)] [RequiresFeature(AuditingFeatureNames.Logging.AuditLog)]
public class AuditLogAppService : AuditingApplicationServiceBase, IAuditLogAppService public class AuditLogAppService : AuditingApplicationServiceBase, IAuditLogAppService
{ {
protected IAuditLogRepository AuditLogRepository { get; } protected IAuditLogRepository AuditLogRepository { get; }
public AuditLogAppService(IAuditLogRepository auditLogRepository) public AuditLogAppService(IAuditLogRepository auditLogRepository)
{ {
AuditLogRepository = auditLogRepository; AuditLogRepository = auditLogRepository;
} }
public virtual async Task<AuditLogDto> GetAsync(Guid id) public virtual async Task<AuditLogDto> GetAsync(Guid id)
{ {
var auditLog = await AuditLogRepository.GetAsync(id, includeDetails: true); var auditLog = await AuditLogRepository.GetAsync(id, includeDetails: true);
return ObjectMapper.Map<AuditLog, AuditLogDto>(auditLog); return ObjectMapper.Map<AuditLog, AuditLogDto>(auditLog);
} }
public virtual async Task<PagedResultDto<AuditLogDto>> GetListAsync(AuditLogGetByPagedDto input) public virtual async Task<PagedResultDto<AuditLogDto>> GetListAsync(AuditLogGetByPagedDto input)
{ {
var auditLogCount = await AuditLogRepository var auditLogCount = await AuditLogRepository
.GetCountAsync(input.StartTime, input.EndTime, .GetCountAsync(input.StartTime, input.EndTime,
input.HttpMethod, input.Url, input.UserName, input.ApplicationName, input.HttpMethod, input.Url,
input.CorrelationId, input.MaxExecutionDuration, input.MinExecutionDuration, input.UserId, input.UserName,
input.HasException, input.HttpStatusCode); input.ApplicationName, input.CorrelationId,
input.MaxExecutionDuration, input.MinExecutionDuration,
var auditLogs = await AuditLogRepository input.HasException, input.HttpStatusCode);
.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount,
input.StartTime, input.EndTime, var auditLogs = await AuditLogRepository
input.HttpMethod, input.Url, input.UserName, input.ApplicationName, .GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount,
input.CorrelationId, input.MaxExecutionDuration, input.MinExecutionDuration, input.StartTime, input.EndTime,
input.HasException, input.HttpStatusCode, includeDetails: false); input.HttpMethod, input.Url,
input.UserId, input.UserName,
return new PagedResultDto<AuditLogDto>(auditLogCount, input.ApplicationName, input.CorrelationId,
ObjectMapper.Map<List<AuditLog>, List<AuditLogDto>>(auditLogs)); input.MaxExecutionDuration, input.MinExecutionDuration,
} input.HasException, input.HttpStatusCode, includeDetails: false);
[Authorize(AuditingPermissionNames.AuditLog.Delete)] return new PagedResultDto<AuditLogDto>(auditLogCount,
public virtual async Task DeleteAsync([Required] Guid id) ObjectMapper.Map<List<AuditLog>, List<AuditLogDto>>(auditLogs));
{ }
var auditLog = await AuditLogRepository.GetAsync(id);
await AuditLogRepository.DeleteAsync(auditLog); [Authorize(AuditingPermissionNames.AuditLog.Delete)]
public virtual async Task DeleteAsync([Required] Guid id)
await CurrentUnitOfWork.SaveChangesAsync(); {
} var auditLog = await AuditLogRepository.GetAsync(id);
} await AuditLogRepository.DeleteAsync(auditLog);
}
await CurrentUnitOfWork.SaveChangesAsync();
}
}
}

2
aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.HttpApi/LINGYUN.Abp.Auditing.HttpApi.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

60
aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun.SettingManagement/LINGYUN.Abp.Aliyun.SettingManagement.csproj

@ -1,30 +1,30 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>net5.0</TargetFramework> <TargetFramework>net5.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<None Remove="LINGYUN\Abp\Aliyun\SettingManagement\Localization\Resources\en.json" /> <None Remove="LINGYUN\Abp\Aliyun\SettingManagement\Localization\Resources\en.json" />
<None Remove="LINGYUN\Abp\Aliyun\SettingManagement\Localization\Resources\zh-Hans.json" /> <None Remove="LINGYUN\Abp\Aliyun\SettingManagement\Localization\Resources\zh-Hans.json" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="LINGYUN\Abp\Aliyun\SettingManagement\Localization\Resources\en.json" /> <EmbeddedResource Include="LINGYUN\Abp\Aliyun\SettingManagement\Localization\Resources\en.json" />
<EmbeddedResource Include="LINGYUN\Abp\Aliyun\SettingManagement\Localization\Resources\zh-Hans.json" /> <EmbeddedResource Include="LINGYUN\Abp\Aliyun\SettingManagement\Localization\Resources\zh-Hans.json" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.4.0" />
<PackageReference Include="Volo.Abp.SettingManagement.Domain" Version="4.3.0" /> <PackageReference Include="Volo.Abp.SettingManagement.Domain" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\common\LINGYUN.Abp.Sms.Aliyun\LINGYUN.Abp.Sms.Aliyun.csproj" /> <ProjectReference Include="..\..\common\LINGYUN.Abp.Sms.Aliyun\LINGYUN.Abp.Sms.Aliyun.csproj" />
<ProjectReference Include="..\..\settings\LINGYUN.Abp.SettingManagement.Application.Contracts\LINGYUN.Abp.SettingManagement.Application.Contracts.csproj" /> <ProjectReference Include="..\..\settings\LINGYUN.Abp.SettingManagement.Application.Contracts\LINGYUN.Abp.SettingManagement.Application.Contracts.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

8
aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun/LINGYUN.Abp.Aliyun.csproj

@ -21,10 +21,10 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="aliyun-net-sdk-core" Version="1.5.10" /> <PackageReference Include="aliyun-net-sdk-core" Version="1.5.10" />
<PackageReference Include="Volo.Abp.Caching" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Caching" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Localization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Localization" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Json" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Json" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Settings" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Settings" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

6
aspnet-core/modules/cloud-tencent/LINGYUN.Abp.Tencent/LINGYUN.Abp.Tencent.csproj

@ -19,9 +19,9 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Localization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Localization" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Json" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Json" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Settings" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Settings" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
aspnet-core/modules/common/LINGYUN.Abp.Aliyun.Authorization/LINGYUN.Abp.Aliyun.Authorization.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Core" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Core" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

28
aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.HttpOverrides/LINGYUN.Abp.AspNetCore.HttpOverrides.csproj

@ -1,14 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>net5.0</TargetFramework> <TargetFramework>net5.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AspNetCore" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

34
aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.Mvc.Client/LINGYUN.Abp.AspNetCore.Mvc.Client.csproj

@ -1,17 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk.Web"> <Project Sdk="Microsoft.NET.Sdk.Web">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>net5.0</TargetFramework> <TargetFramework>net5.0</TargetFramework>
<RootNamespace /> <RootNamespace />
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild> <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc.Client.Common" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AspNetCore.Mvc.Client.Common" Version="4.4.0" />
<PackageReference Include="Volo.Abp.EventBus" Version="4.3.0" /> <PackageReference Include="Volo.Abp.EventBus" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

48
aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.Mvc.Validation/LINGYUN.Abp.AspNetCore.Mvc.Validation.csproj

@ -1,24 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>net5.0</TargetFramework> <TargetFramework>net5.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<None Remove="LINGYUN\Abp\AspNetCore\Mvc\Validation\Localization\MissingFields\en.json" /> <None Remove="LINGYUN\Abp\AspNetCore\Mvc\Validation\Localization\MissingFields\en.json" />
<None Remove="LINGYUN\Abp\AspNetCore\Mvc\Validation\Localization\MissingFields\zh-Hans.json" /> <None Remove="LINGYUN\Abp\AspNetCore\Mvc\Validation\Localization\MissingFields\zh-Hans.json" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="LINGYUN\Abp\AspNetCore\Mvc\Validation\Localization\MissingFields\en.json" /> <EmbeddedResource Include="LINGYUN\Abp\AspNetCore\Mvc\Validation\Localization\MissingFields\en.json" />
<EmbeddedResource Include="LINGYUN\Abp\AspNetCore\Mvc\Validation\Localization\MissingFields\zh-Hans.json" /> <EmbeddedResource Include="LINGYUN\Abp\AspNetCore\Mvc\Validation\Localization\MissingFields\zh-Hans.json" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.SignalR.Protocol.Json/LINGYUN.Abp.AspNetCore.SignalR.Protocol.Json.csproj

@ -9,7 +9,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="5.0.*" /> <PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="5.0.*" />
<PackageReference Include="Volo.Abp.AspNetCore.SignalR" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AspNetCore.SignalR" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
aspnet-core/modules/common/LINGYUN.Abp.AspNetCore.SignalR/LINGYUN.Abp.AspNetCore.SignalR.JwtToken.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.SignalR" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AspNetCore.SignalR" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

38
aspnet-core/modules/common/LINGYUN.Abp.BackgroundJobs.Hangfire/LINGYUN.Abp.BackgroundJobs.Hangfire.csproj

@ -1,19 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.HangFire" Version="4.3.0" /> <PackageReference Include="Volo.Abp.HangFire" Version="4.4.0" />
<PackageReference Include="Volo.Abp.BackgroundJobs" Version="4.3.0" /> <PackageReference Include="Volo.Abp.BackgroundJobs" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.Hangfire.Dashboard\LINGYUN.Abp.Hangfire.Dashboard.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.Hangfire.Dashboard\LINGYUN.Abp.Hangfire.Dashboard.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

30
aspnet-core/modules/common/LINGYUN.Abp.BackgroundWorkers.Hangfire/LINGYUN.Abp.BackgroundWorkers.Hangfire.csproj

@ -1,15 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.HangFire" Version="4.3.0" /> <PackageReference Include="Volo.Abp.HangFire" Version="4.4.0" />
<PackageReference Include="Volo.Abp.BackgroundWorkers" Version="4.3.0" /> <PackageReference Include="Volo.Abp.BackgroundWorkers" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

6
aspnet-core/modules/common/LINGYUN.Abp.BlobStoring.Aliyun/LINGYUN.Abp.BlobStoring.Aliyun.csproj

@ -10,11 +10,11 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Aliyun.OSS.SDK.NetCore" Version="2.13.0" /> <PackageReference Include="Aliyun.OSS.SDK.NetCore" Version="2.13.0" />
<PackageReference Include="Volo.Abp.BlobStoring" Version="4.3.0" /> <PackageReference Include="Volo.Abp.BlobStoring" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\cloud-aliyun\LINGYUN.Abp.Aliyun\LINGYUN.Abp.Aliyun.csproj" /> <ProjectReference Include="..\..\cloud-aliyun\LINGYUN.Abp.Aliyun\LINGYUN.Abp.Aliyun.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

30
aspnet-core/modules/common/LINGYUN.Abp.Core/LINGYUN.Abp.Core.csproj

@ -1,15 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace>LINGYUN.Abp</RootNamespace> <RootNamespace>LINGYUN.Abp</RootNamespace>
<Description>Abp扩展基础库</Description> <Description>Abp扩展基础库</Description>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Core" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Core" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
aspnet-core/modules/common/LINGYUN.Abp.DistributedLock.Redis/LINGYUN.Abp.DistributedLock.Redis.csproj

@ -12,7 +12,7 @@
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="5.0.0" /> <PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Options" Version="5.0.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="5.0.0" />
<PackageReference Include="Polly" Version="7.2.1" /> <PackageReference Include="Polly" Version="7.2.1" />
<PackageReference Include="Volo.Abp.Core" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Core" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/common/LINGYUN.Abp.Domain.Entities.Events/LINGYUN.Abp.Domain.Entities.Events.csproj

@ -6,7 +6,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Ddd.Domain" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Ddd.Domain" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

234
aspnet-core/modules/common/LINGYUN.Abp.EventBus.CAP/DotNetCore/CAP/Processor/AbpCapProcessingServer.cs

@ -1,115 +1,119 @@
using DotNetCore.CAP.Internal; using DotNetCore.CAP.Internal;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace DotNetCore.CAP.Processor namespace DotNetCore.CAP.Processor
{ {
/// <summary> /// <summary>
/// CapProcessingServer /// CapProcessingServer
/// </summary> /// </summary>
public class AbpCapProcessingServer : IProcessingServer public class AbpCapProcessingServer : IProcessingServer
{ {
private readonly CancellationTokenSource _cts; private readonly CancellationTokenSource _cts;
private readonly ILogger _logger; private readonly ILogger _logger;
private readonly ILoggerFactory _loggerFactory; private readonly ILoggerFactory _loggerFactory;
private readonly IServiceProvider _provider; private readonly IServiceProvider _provider;
private Task _compositeTask; private Task _compositeTask;
private ProcessingContext _context; private ProcessingContext _context;
private bool _disposed; private bool _disposed;
/// <summary> /// <summary>
/// CapProcessingServer /// CapProcessingServer
/// </summary> /// </summary>
/// <param name="logger"></param> /// <param name="logger"></param>
/// <param name="loggerFactory"></param> /// <param name="loggerFactory"></param>
/// <param name="provider"></param> /// <param name="provider"></param>
public AbpCapProcessingServer( public AbpCapProcessingServer(
ILogger<AbpCapProcessingServer> logger, ILogger<AbpCapProcessingServer> logger,
ILoggerFactory loggerFactory, ILoggerFactory loggerFactory,
IServiceProvider provider) IServiceProvider provider)
{ {
_logger = logger; _logger = logger;
_loggerFactory = loggerFactory; _loggerFactory = loggerFactory;
_provider = provider; _provider = provider;
_cts = new CancellationTokenSource(); _cts = new CancellationTokenSource();
} }
/// <summary> /// <summary>
/// Start /// Start
/// </summary> /// </summary>
public void Start() public void Start(CancellationToken stoppingToken)
{ {
_logger.LogInformation("Starting the processing server."); _logger.LogInformation("Starting the processing server.");
stoppingToken.Register(() =>
_context = new ProcessingContext(_provider, _cts.Token); {
_cts.Cancel();
var processorTasks = GetProcessors() });
.Select(InfiniteRetry)
.Select(p => p.ProcessAsync(_context)); _context = new ProcessingContext(_provider, _cts.Token);
_compositeTask = Task.WhenAll(processorTasks);
} var processorTasks = GetProcessors()
/// <summary> .Select(InfiniteRetry)
/// Pulse .Select(p => p.ProcessAsync(_context));
/// </summary> _compositeTask = Task.WhenAll(processorTasks);
public void Pulse() }
{ /// <summary>
_logger.LogTrace("Pulsing the processor."); /// Pulse
} /// </summary>
/// <summary> public void Pulse()
/// Dispose {
/// </summary> _logger.LogTrace("Pulsing the processor.");
public void Dispose() }
{ /// <summary>
if (_disposed) /// Dispose
{ /// </summary>
return; public void Dispose()
} {
if (_disposed)
try {
{ return;
_disposed = true; }
_logger.LogInformation("Shutting down the processing server..."); try
_cts.Cancel(); {
_disposed = true;
_compositeTask?.Wait((int)TimeSpan.FromSeconds(10).TotalMilliseconds);
} _logger.LogInformation("Shutting down the processing server...");
catch (AggregateException ex) _cts.Cancel();
{
var innerEx = ex.InnerExceptions[0]; _compositeTask?.Wait((int)TimeSpan.FromSeconds(10).TotalMilliseconds);
if (!(innerEx is OperationCanceledException)) }
{ catch (AggregateException ex)
_logger.LogWarning(innerEx, $"Expected an OperationCanceledException, but found '{innerEx.Message}'."); {
} var innerEx = ex.InnerExceptions[0];
} if (!(innerEx is OperationCanceledException))
catch (Exception ex) {
{ _logger.LogWarning(innerEx, $"Expected an OperationCanceledException, but found '{innerEx.Message}'.");
_logger.LogWarning(ex, "An exception was occured when disposing."); }
} }
finally catch (Exception ex)
{ {
_logger.LogInformation("### CAP shutdown!"); _logger.LogWarning(ex, "An exception was occured when disposing.");
} }
} finally
{
private IProcessor InfiniteRetry(IProcessor inner) _logger.LogInformation("### CAP shutdown!");
{ }
return new InfiniteRetryProcessor(inner, _loggerFactory); }
}
private IProcessor InfiniteRetry(IProcessor inner)
private IProcessor[] GetProcessors() {
{ return new InfiniteRetryProcessor(inner, _loggerFactory);
var returnedProcessors = new List<IProcessor> }
{
_provider.GetRequiredService<TransportCheckProcessor>(), private IProcessor[] GetProcessors()
_provider.GetRequiredService<MessageNeedToRetryProcessor>(), {
}; var returnedProcessors = new List<IProcessor>
{
return returnedProcessors.ToArray(); _provider.GetRequiredService<TransportCheckProcessor>(),
} _provider.GetRequiredService<MessageNeedToRetryProcessor>(),
} };
}
return returnedProcessors.ToArray();
}
}
}

40
aspnet-core/modules/common/LINGYUN.Abp.EventBus.CAP/LINGYUN.Abp.EventBus.CAP.csproj

@ -1,20 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework> <TargetFramework>netstandard2.1</TargetFramework>
<RootNamespace /> <RootNamespace />
<Description>Cap分布式事件总线</Description> <Description>Cap分布式事件总线</Description>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
<DocumentationFile>$(SolutionDir)modules\common\LINGYUN.Abp.EventBus.CAP\LINGYUN.Abp.EventBus.CAP.xml</DocumentationFile> <DocumentationFile>$(SolutionDir)modules\common\LINGYUN.Abp.EventBus.CAP\LINGYUN.Abp.EventBus.CAP.xml</DocumentationFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="DotNetCore.CAP" Version="5.1.0" /> <PackageReference Include="DotNetCore.CAP" Version="5.1.2" />
<PackageReference Include="Volo.Abp.BackgroundWorkers" Version="4.3.0" /> <PackageReference Include="Volo.Abp.BackgroundWorkers" Version="4.4.0" />
<PackageReference Include="Volo.Abp.EventBus" Version="4.3.0" /> <PackageReference Include="Volo.Abp.EventBus" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Json" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Json" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

911
aspnet-core/modules/common/LINGYUN.Abp.EventBus.CAP/LINGYUN.Abp.EventBus.CAP.xml

@ -1,455 +1,456 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<doc> <doc>
<assembly> <assembly>
<name>LINGYUN.Abp.EventBus.CAP</name> <name>LINGYUN.Abp.EventBus.CAP</name>
</assembly> </assembly>
<members> <members>
<member name="T:DotNetCore.CAP.ConsumerServiceSelector"> <member name="T:DotNetCore.CAP.ConsumerServiceSelector">
<summary> <summary>
消费者查找器 消费者查找器
</summary> </summary>
</member> </member>
<member name="P:DotNetCore.CAP.ConsumerServiceSelector.CapOptions"> <member name="P:DotNetCore.CAP.ConsumerServiceSelector.CapOptions">
<summary> <summary>
CAP配置 CAP配置
</summary> </summary>
</member> </member>
<member name="P:DotNetCore.CAP.ConsumerServiceSelector.AbpDistributedEventBusOptions"> <member name="P:DotNetCore.CAP.ConsumerServiceSelector.AbpDistributedEventBusOptions">
<summary> <summary>
Abp分布式事件配置 Abp分布式事件配置
</summary> </summary>
</member> </member>
<member name="P:DotNetCore.CAP.ConsumerServiceSelector.ServiceProvider"> <member name="P:DotNetCore.CAP.ConsumerServiceSelector.ServiceProvider">
<summary> <summary>
服务提供者 服务提供者
</summary> </summary>
</member> </member>
<member name="M:DotNetCore.CAP.ConsumerServiceSelector.#ctor(System.IServiceProvider,Microsoft.Extensions.Options.IOptions{DotNetCore.CAP.CapOptions},Microsoft.Extensions.Options.IOptions{Volo.Abp.EventBus.Distributed.AbpDistributedEventBusOptions})"> <member name="M:DotNetCore.CAP.ConsumerServiceSelector.#ctor(System.IServiceProvider,Microsoft.Extensions.Options.IOptions{DotNetCore.CAP.CapOptions},Microsoft.Extensions.Options.IOptions{Volo.Abp.EventBus.Distributed.AbpDistributedEventBusOptions})">
<summary> <summary>
Creates a new <see cref="T:DotNetCore.CAP.Internal.ConsumerServiceSelector" />. Creates a new <see cref="T:DotNetCore.CAP.Internal.ConsumerServiceSelector" />.
</summary> </summary>
</member> </member>
<member name="M:DotNetCore.CAP.ConsumerServiceSelector.FindConsumersFromInterfaceTypes(System.IServiceProvider)"> <member name="M:DotNetCore.CAP.ConsumerServiceSelector.FindConsumersFromInterfaceTypes(System.IServiceProvider)">
<summary> <summary>
查找消费者集合 查找消费者集合
</summary> </summary>
<param name="provider"></param> <param name="provider"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:DotNetCore.CAP.ConsumerServiceSelector.GetHandlerDescription(System.Type,System.Type)"> <member name="M:DotNetCore.CAP.ConsumerServiceSelector.GetHandlerDescription(System.Type,System.Type)">
<summary> <summary>
获取事件处理器集合 获取事件处理器集合
</summary> </summary>
<param name="eventType"></param> <param name="eventType"></param>
<param name="typeInfo"></param> <param name="typeInfo"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:DotNetCore.CAP.Processor.AbpCapExpiresMessageCleanupBackgroundWorker"> <member name="T:DotNetCore.CAP.Processor.AbpCapExpiresMessageCleanupBackgroundWorker">
<summary> <summary>
过期消息清理任务 过期消息清理任务
</summary> </summary>
</member> </member>
<member name="P:DotNetCore.CAP.Processor.AbpCapExpiresMessageCleanupBackgroundWorker.Options"> <member name="P:DotNetCore.CAP.Processor.AbpCapExpiresMessageCleanupBackgroundWorker.Options">
<summary> <summary>
过期消息清理配置 过期消息清理配置
</summary> </summary>
</member> </member>
<member name="P:DotNetCore.CAP.Processor.AbpCapExpiresMessageCleanupBackgroundWorker.Initializer"> <member name="P:DotNetCore.CAP.Processor.AbpCapExpiresMessageCleanupBackgroundWorker.Initializer">
<summary> <summary>
Initializer Initializer
</summary> </summary>
</member> </member>
<member name="P:DotNetCore.CAP.Processor.AbpCapExpiresMessageCleanupBackgroundWorker.Storage"> <member name="P:DotNetCore.CAP.Processor.AbpCapExpiresMessageCleanupBackgroundWorker.Storage">
<summary> <summary>
Storage Storage
</summary> </summary>
</member> </member>
<member name="M:DotNetCore.CAP.Processor.AbpCapExpiresMessageCleanupBackgroundWorker.#ctor(Volo.Abp.Threading.AbpAsyncTimer,DotNetCore.CAP.Persistence.IDataStorage,DotNetCore.CAP.Persistence.IStorageInitializer,Microsoft.Extensions.Options.IOptions{LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusOptions},Microsoft.Extensions.DependencyInjection.IServiceScopeFactory)"> <member name="M:DotNetCore.CAP.Processor.AbpCapExpiresMessageCleanupBackgroundWorker.#ctor(Volo.Abp.Threading.AbpAsyncTimer,DotNetCore.CAP.Persistence.IDataStorage,DotNetCore.CAP.Persistence.IStorageInitializer,Microsoft.Extensions.Options.IOptions{LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusOptions},Microsoft.Extensions.DependencyInjection.IServiceScopeFactory)">
<summary> <summary>
创建过期消息清理任务 创建过期消息清理任务
</summary> </summary>
<param name="timer"></param> <param name="timer"></param>
<param name="storage"></param> <param name="storage"></param>
<param name="initializer"></param> <param name="initializer"></param>
<param name="options"></param> <param name="options"></param>
<param name="serviceScopeFactory"></param> <param name="serviceScopeFactory"></param>
</member> </member>
<member name="M:DotNetCore.CAP.Processor.AbpCapExpiresMessageCleanupBackgroundWorker.DoWorkAsync(Volo.Abp.BackgroundWorkers.PeriodicBackgroundWorkerContext)"> <member name="M:DotNetCore.CAP.Processor.AbpCapExpiresMessageCleanupBackgroundWorker.DoWorkAsync(Volo.Abp.BackgroundWorkers.PeriodicBackgroundWorkerContext)">
<summary> <summary>
异步执行任务 异步执行任务
</summary> </summary>
<param name="workerContext"></param> <param name="workerContext"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:DotNetCore.CAP.Processor.AbpCapProcessingServer"> <member name="T:DotNetCore.CAP.Processor.AbpCapProcessingServer">
<summary> <summary>
CapProcessingServer CapProcessingServer
</summary> </summary>
</member> </member>
<member name="M:DotNetCore.CAP.Processor.AbpCapProcessingServer.#ctor(Microsoft.Extensions.Logging.ILogger{DotNetCore.CAP.Processor.AbpCapProcessingServer},Microsoft.Extensions.Logging.ILoggerFactory,System.IServiceProvider)"> <member name="M:DotNetCore.CAP.Processor.AbpCapProcessingServer.#ctor(Microsoft.Extensions.Logging.ILogger{DotNetCore.CAP.Processor.AbpCapProcessingServer},Microsoft.Extensions.Logging.ILoggerFactory,System.IServiceProvider)">
<summary> <summary>
CapProcessingServer CapProcessingServer
</summary> </summary>
<param name="logger"></param> <param name="logger"></param>
<param name="loggerFactory"></param> <param name="loggerFactory"></param>
<param name="provider"></param> <param name="provider"></param>
</member> </member>
<member name="M:DotNetCore.CAP.Processor.AbpCapProcessingServer.Start"> <member name="M:DotNetCore.CAP.Processor.AbpCapProcessingServer.Start(System.Threading.CancellationToken)">
<summary> <summary>
Start Start
</summary> </summary>
</member> </member>
<member name="M:DotNetCore.CAP.Processor.AbpCapProcessingServer.Pulse"> <member name="M:DotNetCore.CAP.Processor.AbpCapProcessingServer.Pulse">
<summary> <summary>
Pulse Pulse
</summary> </summary>
</member> </member>
<member name="M:DotNetCore.CAP.Processor.AbpCapProcessingServer.Dispose"> <member name="M:DotNetCore.CAP.Processor.AbpCapProcessingServer.Dispose">
<summary> <summary>
Dispose Dispose
</summary> </summary>
</member> </member>
<member name="T:LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusModule"> <member name="T:LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusModule">
<summary> <summary>
AbpCAPEventBusModule AbpCAPEventBusModule
</summary> </summary>
</member> </member>
<member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusModule.ConfigureServices(Volo.Abp.Modularity.ServiceConfigurationContext)"> <member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusModule.ConfigureServices(Volo.Abp.Modularity.ServiceConfigurationContext)">
<summary> <summary>
ConfigureServices ConfigureServices
</summary> </summary>
<param name="context"></param> <param name="context"></param>
</member> </member>
<member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusModule.OnApplicationInitialization(Volo.Abp.ApplicationInitializationContext)"> <member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusModule.OnApplicationInitialization(Volo.Abp.ApplicationInitializationContext)">
<summary> <summary>
OnApplicationInitialization OnApplicationInitialization
</summary> </summary>
<param name="context"></param> <param name="context"></param>
</member> </member>
<member name="T:LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusOptions"> <member name="T:LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusOptions">
<summary> <summary>
过期消息清理配置项 过期消息清理配置项
</summary> </summary>
</member> </member>
<member name="P:LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusOptions.NotifyFailedCallback"> <member name="P:LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusOptions.NotifyFailedCallback">
<summary> <summary>
发布消息处理失败通知 发布消息处理失败通知
default: false default: false
</summary> </summary>
</member> </member>
<member name="P:LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusOptions.CleanUpExpiresMessageBatch"> <member name="P:LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusOptions.CleanUpExpiresMessageBatch">
<summary> <summary>
批量清理数量 批量清理数量
default: 1000 default: 1000
</summary> </summary>
</member> </member>
<member name="P:LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusOptions.CleanUpExpiresMessageInterval"> <member name="P:LINGYUN.Abp.EventBus.CAP.AbpCAPEventBusOptions.CleanUpExpiresMessageInterval">
<summary> <summary>
执行间隔(ms) 执行间隔(ms)
default: 3600000 (1 hours) default: 3600000 (1 hours)
</summary> </summary>
</member> </member>
<member name="T:LINGYUN.Abp.EventBus.CAP.AbpCAPExecutionFailedException"> <member name="T:LINGYUN.Abp.EventBus.CAP.AbpCAPExecutionFailedException">
<summary> <summary>
AbpECAPExecutionFailedException AbpECAPExecutionFailedException
</summary> </summary>
</member> </member>
<member name="P:LINGYUN.Abp.EventBus.CAP.AbpCAPExecutionFailedException.MessageType"> <member name="P:LINGYUN.Abp.EventBus.CAP.AbpCAPExecutionFailedException.MessageType">
<summary> <summary>
MessageType MessageType
</summary> </summary>
</member> </member>
<member name="P:LINGYUN.Abp.EventBus.CAP.AbpCAPExecutionFailedException.Origin"> <member name="P:LINGYUN.Abp.EventBus.CAP.AbpCAPExecutionFailedException.Origin">
<summary> <summary>
Message Message
</summary> </summary>
</member> </member>
<member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPExecutionFailedException.#ctor(DotNetCore.CAP.Messages.MessageType,DotNetCore.CAP.Messages.Message)"> <member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPExecutionFailedException.#ctor(DotNetCore.CAP.Messages.MessageType,DotNetCore.CAP.Messages.Message)">
<summary> <summary>
constructor constructor
</summary> </summary>
<param name="messageType"></param> <param name="messageType"></param>
<param name="origin"></param> <param name="origin"></param>
</member> </member>
<member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPExecutionFailedException.#ctor(DotNetCore.CAP.Messages.MessageType,DotNetCore.CAP.Messages.Message,System.String)"> <member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPExecutionFailedException.#ctor(DotNetCore.CAP.Messages.MessageType,DotNetCore.CAP.Messages.Message,System.String)">
<summary> <summary>
constructor constructor
</summary> </summary>
<param name="messageType"></param> <param name="messageType"></param>
<param name="origin"></param> <param name="origin"></param>
<param name="message"></param> <param name="message"></param>
</member> </member>
<member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPExecutionFailedException.#ctor(DotNetCore.CAP.Messages.MessageType,DotNetCore.CAP.Messages.Message,System.String,System.Exception)"> <member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPExecutionFailedException.#ctor(DotNetCore.CAP.Messages.MessageType,DotNetCore.CAP.Messages.Message,System.String,System.Exception)">
<summary> <summary>
constructor constructor
</summary> </summary>
<param name="messageType"></param> <param name="messageType"></param>
<param name="origin"></param> <param name="origin"></param>
<param name="message"></param> <param name="message"></param>
<param name="innerException"></param> <param name="innerException"></param>
</member> </member>
<member name="T:LINGYUN.Abp.EventBus.CAP.AbpCAPMessageExtensions"> <member name="T:LINGYUN.Abp.EventBus.CAP.AbpCAPMessageExtensions">
<summary> <summary>
CAP消息扩展 CAP消息扩展
</summary> </summary>
</member> </member>
<member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPMessageExtensions.TryGetTenantId(DotNetCore.CAP.Messages.Message,System.Nullable{System.Guid}@)"> <member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPMessageExtensions.TryGetTenantId(DotNetCore.CAP.Messages.Message,System.Nullable{System.Guid}@)">
<summary> <summary>
尝试获取消息标头中的租户标识 尝试获取消息标头中的租户标识
</summary> </summary>
<param name="message"></param> <param name="message"></param>
<param name="tenantId"></param> <param name="tenantId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPMessageExtensions.GetTenantIdOrNull(DotNetCore.CAP.Messages.Message)"> <member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPMessageExtensions.GetTenantIdOrNull(DotNetCore.CAP.Messages.Message)">
<summary> <summary>
获取消息标头中的租户标识 获取消息标头中的租户标识
</summary> </summary>
<param name="message"></param> <param name="message"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:LINGYUN.Abp.EventBus.CAP.AbpCAPSubscribeInvoker"> <member name="T:LINGYUN.Abp.EventBus.CAP.AbpCAPSubscribeInvoker">
<summary> <summary>
重写 ISubscribeInvoker 实现 Abp 租户集成 重写 ISubscribeInvoker 实现 Abp 租户集成
</summary> </summary>
</member> </member>
<member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPSubscribeInvoker.#ctor(Microsoft.Extensions.Logging.ILoggerFactory,System.IServiceProvider,DotNetCore.CAP.Serialization.ISerializer,Volo.Abp.MultiTenancy.ICurrentTenant)"> <member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPSubscribeInvoker.#ctor(Microsoft.Extensions.Logging.ILoggerFactory,System.IServiceProvider,DotNetCore.CAP.Serialization.ISerializer,Volo.Abp.MultiTenancy.ICurrentTenant)">
<summary> <summary>
AbpCAPSubscribeInvoker AbpCAPSubscribeInvoker
</summary> </summary>
<param name="loggerFactory"></param> <param name="loggerFactory"></param>
<param name="serviceProvider"></param> <param name="serviceProvider"></param>
<param name="serializer"></param> <param name="serializer"></param>
<param name="currentTenant"></param> <param name="currentTenant"></param>
</member> </member>
<member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPSubscribeInvoker.InvokeAsync(DotNetCore.CAP.Internal.ConsumerContext,System.Threading.CancellationToken)"> <member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPSubscribeInvoker.InvokeAsync(DotNetCore.CAP.Internal.ConsumerContext,System.Threading.CancellationToken)">
<summary> <summary>
调用订阅者方法 调用订阅者方法
</summary> </summary>
<param name="context"></param> <param name="context"></param>
<param name="cancellationToken"></param> <param name="cancellationToken"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPSubscribeInvoker.GetInstance(System.IServiceProvider,DotNetCore.CAP.Internal.ConsumerContext)"> <member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPSubscribeInvoker.GetInstance(System.IServiceProvider,DotNetCore.CAP.Internal.ConsumerContext)">
<summary> <summary>
获取事件处理类实例 获取事件处理类实例
</summary> </summary>
<param name="provider"></param> <param name="provider"></param>
<param name="context"></param> <param name="context"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPSubscribeInvoker.ExecuteWithParameterAsync(LINGYUN.Abp.EventBus.CAP.Internal.ObjectMethodExecutor,System.Object,System.Object[])"> <member name="M:LINGYUN.Abp.EventBus.CAP.AbpCAPSubscribeInvoker.ExecuteWithParameterAsync(LINGYUN.Abp.EventBus.CAP.Internal.ObjectMethodExecutor,System.Object,System.Object[])">
<summary> <summary>
通过给定的类型实例与参数调用订阅者方法 通过给定的类型实例与参数调用订阅者方法
</summary> </summary>
<param name="executor"></param> <param name="executor"></param>
<param name="class"></param> <param name="class"></param>
<param name="parameter"></param> <param name="parameter"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="T:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus"> <member name="T:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus">
<summary> <summary>
CAP分布式事件总线 CAP分布式事件总线
</summary> </summary>
</member> </member>
<member name="P:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.AbpDistributedEventBusOptions"> <member name="P:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.AbpDistributedEventBusOptions">
<summary> <summary>
Abp分布式事件总线配置 Abp分布式事件总线配置
</summary> </summary>
</member> </member>
<member name="F:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.CapPublisher"> <member name="F:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.CapPublisher">
<summary> <summary>
CAP消息发布接口 CAP消息发布接口
</summary> </summary>
</member> </member>
<member name="P:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.CustomDistributedEventSubscriber"> <member name="P:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.CustomDistributedEventSubscriber">
<summary> <summary>
自定义事件注册接口 自定义事件注册接口
</summary> </summary>
</member> </member>
<member name="P:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.HandlerFactories"> <member name="P:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.HandlerFactories">
<summary> <summary>
本地事件处理器工厂对象集合 本地事件处理器工厂对象集合
</summary> </summary>
</member> </member>
<member name="P:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.EventTypes"> <member name="P:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.EventTypes">
<summary> <summary>
本地事件集合 本地事件集合
</summary> </summary>
</member> </member>
<member name="P:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.CurrentUser"> <member name="P:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.CurrentUser">
<summary> <summary>
当前用户 当前用户
</summary> </summary>
</member> </member>
<member name="P:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.CurrentClient"> <member name="P:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.CurrentClient">
<summary> <summary>
当前客户端 当前客户端
</summary> </summary>
</member> </member>
<member name="P:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.CancellationTokenProvider"> <member name="P:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.CancellationTokenProvider">
<summary> <summary>
取消令牌 取消令牌
</summary> </summary>
</member> </member>
<member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.#ctor(Microsoft.Extensions.DependencyInjection.IServiceScopeFactory,Microsoft.Extensions.Options.IOptions{Volo.Abp.EventBus.Distributed.AbpDistributedEventBusOptions},DotNetCore.CAP.ICapPublisher,Volo.Abp.Users.ICurrentUser,Volo.Abp.Clients.ICurrentClient,Volo.Abp.MultiTenancy.ICurrentTenant,Volo.Abp.Threading.ICancellationTokenProvider,LINGYUN.Abp.EventBus.CAP.ICustomDistributedEventSubscriber)"> <member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.#ctor(Microsoft.Extensions.DependencyInjection.IServiceScopeFactory,Microsoft.Extensions.Options.IOptions{Volo.Abp.EventBus.Distributed.AbpDistributedEventBusOptions},DotNetCore.CAP.ICapPublisher,Volo.Abp.Users.ICurrentUser,Volo.Abp.Clients.ICurrentClient,Volo.Abp.MultiTenancy.ICurrentTenant,Volo.Abp.EventBus.IEventErrorHandler,Volo.Abp.Threading.ICancellationTokenProvider,LINGYUN.Abp.EventBus.CAP.ICustomDistributedEventSubscriber)">
<summary> <summary>
constructor constructor
</summary> </summary>
<param name="serviceScopeFactory"></param> <param name="serviceScopeFactory"></param>
<param name="distributedEventBusOptions"></param> <param name="distributedEventBusOptions"></param>
<param name="capPublisher"></param> <param name="capPublisher"></param>
<param name="currentUser"></param> <param name="currentUser"></param>
<param name="currentTenant"></param> <param name="currentClient"></param>
<param name="currentClient"></param> <param name="currentTenant"></param>
<param name="cancellationTokenProvider"></param> <param name="eventErrorHandler"></param>
<param name="customDistributedEventSubscriber"></param> <param name="cancellationTokenProvider"></param>
</member> <param name="customDistributedEventSubscriber"></param>
<member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.Subscribe(System.Type,Volo.Abp.EventBus.IEventHandlerFactory)"> </member>
<summary> <member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.Subscribe(System.Type,Volo.Abp.EventBus.IEventHandlerFactory)">
订阅事件 <summary>
</summary> 订阅事件
<param name="eventType"></param> </summary>
<param name="factory"></param> <param name="eventType"></param>
<returns></returns> <param name="factory"></param>
</member> <returns></returns>
<member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.Unsubscribe``1(System.Func{``0,System.Threading.Tasks.Task})"> </member>
<summary> <member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.Unsubscribe``1(System.Func{``0,System.Threading.Tasks.Task})">
退订事件 <summary>
</summary> 退订事件
<typeparam name="TEvent">事件类型</typeparam> </summary>
<param name="action"></param> <typeparam name="TEvent">事件类型</typeparam>
</member> <param name="action"></param>
<member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.Unsubscribe(System.Type,Volo.Abp.EventBus.IEventHandler)"> </member>
<summary> <member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.Unsubscribe(System.Type,Volo.Abp.EventBus.IEventHandler)">
退订事件 <summary>
</summary> 退订事件
<param name="eventType">事件类型</param> </summary>
<param name="handler">事件处理器</param> <param name="eventType">事件类型</param>
</member> <param name="handler">事件处理器</param>
<member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.Unsubscribe(System.Type,Volo.Abp.EventBus.IEventHandlerFactory)"> </member>
<summary> <member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.Unsubscribe(System.Type,Volo.Abp.EventBus.IEventHandlerFactory)">
退订事件 <summary>
</summary> 退订事件
<param name="eventType">事件类型</param> </summary>
<param name="factory">事件处理器工厂</param> <param name="eventType">事件类型</param>
</member> <param name="factory">事件处理器工厂</param>
<member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.UnsubscribeAll(System.Type)"> </member>
<summary> <member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.UnsubscribeAll(System.Type)">
退订所有事件 <summary>
</summary> 退订所有事件
<param name="eventType">事件类型</param> </summary>
</member> <param name="eventType">事件类型</param>
<member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.Subscribe``1(Volo.Abp.EventBus.Distributed.IDistributedEventHandler{``0})"> </member>
<summary> <member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.Subscribe``1(Volo.Abp.EventBus.Distributed.IDistributedEventHandler{``0})">
订阅事件 <summary>
</summary> 订阅事件
<typeparam name="TEvent">事件类型</typeparam> </summary>
<param name="handler">事件处理器</param> <typeparam name="TEvent">事件类型</typeparam>
<returns></returns> <param name="handler">事件处理器</param>
</member> <returns></returns>
<member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.PublishAsync(System.Type,System.Object)"> </member>
<summary> <member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.PublishAsync(System.Type,System.Object)">
发布事件 <summary>
</summary> 发布事件
<param name="eventType">事件类型</param> </summary>
<param name="eventData">事件数据对象</param> <param name="eventType">事件类型</param>
<returns></returns> <param name="eventData">事件数据对象</param>
</member> <returns></returns>
<member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.GetHandlerFactories(System.Type)"> </member>
<summary> <member name="M:LINGYUN.Abp.EventBus.CAP.CAPDistributedEventBus.GetHandlerFactories(System.Type)">
获取事件处理器工厂列表 <summary>
</summary> 获取事件处理器工厂列表
<param name="eventType"></param> </summary>
<returns></returns> <param name="eventType"></param>
</member> <returns></returns>
<member name="T:LINGYUN.Abp.EventBus.CAP.ICustomDistributedEventSubscriber"> </member>
<summary> <member name="T:LINGYUN.Abp.EventBus.CAP.ICustomDistributedEventSubscriber">
自定义事件订阅者 <summary>
</summary> 自定义事件订阅者
</member> </summary>
<member name="M:LINGYUN.Abp.EventBus.CAP.ICustomDistributedEventSubscriber.Subscribe(System.Type,Volo.Abp.EventBus.IEventHandlerFactory)"> </member>
<summary> <member name="M:LINGYUN.Abp.EventBus.CAP.ICustomDistributedEventSubscriber.Subscribe(System.Type,Volo.Abp.EventBus.IEventHandlerFactory)">
订阅事件 <summary>
</summary> 订阅事件
<param name="eventType"></param> </summary>
<param name="factory"></param> <param name="eventType"></param>
</member> <param name="factory"></param>
<member name="M:LINGYUN.Abp.EventBus.CAP.ICustomDistributedEventSubscriber.UnSubscribe(System.Type,Volo.Abp.EventBus.IEventHandlerFactory)"> </member>
<summary> <member name="M:LINGYUN.Abp.EventBus.CAP.ICustomDistributedEventSubscriber.UnSubscribe(System.Type,Volo.Abp.EventBus.IEventHandlerFactory)">
取消订阅 <summary>
</summary> 取消订阅
<param name="eventType"></param> </summary>
<param name="factory"></param> <param name="eventType"></param>
</member> <param name="factory"></param>
<member name="M:LINGYUN.Abp.EventBus.CAP.Internal.ObjectMethodExecutor.Execute(System.Object,System.Object[])"> </member>
<summary> <member name="M:LINGYUN.Abp.EventBus.CAP.Internal.ObjectMethodExecutor.Execute(System.Object,System.Object[])">
Executes the configured method on <paramref name="target" />. This can be used whether or not <summary>
the configured method is asynchronous. Executes the configured method on <paramref name="target" />. This can be used whether or not
</summary> the configured method is asynchronous.
<remarks> </summary>
Even if the target method is asynchronous, it's desirable to invoke it using Execute rather than <remarks>
ExecuteAsync if you know at compile time what the return type is, because then you can directly Even if the target method is asynchronous, it's desirable to invoke it using Execute rather than
"await" that value (via a cast), and then the generated code will be able to reference the ExecuteAsync if you know at compile time what the return type is, because then you can directly
resulting awaitable as a value-typed variable. If you use ExecuteAsync instead, the generated "await" that value (via a cast), and then the generated code will be able to reference the
code will have to treat the resulting awaitable as a boxed object, because it doesn't know at resulting awaitable as a value-typed variable. If you use ExecuteAsync instead, the generated
compile time what type it would be. code will have to treat the resulting awaitable as a boxed object, because it doesn't know at
</remarks> compile time what type it would be.
<param name="target">The object whose method is to be executed.</param> </remarks>
<param name="parameters">Parameters to pass to the method.</param> <param name="target">The object whose method is to be executed.</param>
<returns>The method return value.</returns> <param name="parameters">Parameters to pass to the method.</param>
</member> <returns>The method return value.</returns>
<member name="M:LINGYUN.Abp.EventBus.CAP.Internal.ObjectMethodExecutor.ExecuteAsync(System.Object,System.Object[])"> </member>
<summary> <member name="M:LINGYUN.Abp.EventBus.CAP.Internal.ObjectMethodExecutor.ExecuteAsync(System.Object,System.Object[])">
Executes the configured method on <paramref name="target" />. This can only be used if the configured <summary>
method is asynchronous. Executes the configured method on <paramref name="target" />. This can only be used if the configured
</summary> method is asynchronous.
<remarks> </summary>
If you don't know at compile time the type of the method's returned awaitable, you can use ExecuteAsync, <remarks>
which supplies an awaitable-of-object. This always works, but can incur several extra heap allocations If you don't know at compile time the type of the method's returned awaitable, you can use ExecuteAsync,
as compared with using Execute and then using "await" on the result value typecasted to the known which supplies an awaitable-of-object. This always works, but can incur several extra heap allocations
awaitable type. The possible extra heap allocations are for: as compared with using Execute and then using "await" on the result value typecasted to the known
1. The custom awaitable (though usually there's a heap allocation for this anyway, since normally awaitable type. The possible extra heap allocations are for:
it's a reference type, and you normally create a new instance per call). 1. The custom awaitable (though usually there's a heap allocation for this anyway, since normally
2. The custom awaiter (whether or not it's a value type, since if it's not, you need a new instance it's a reference type, and you normally create a new instance per call).
of it, and if it is, it will have to be boxed so the calling code can reference it as an object). 2. The custom awaiter (whether or not it's a value type, since if it's not, you need a new instance
3. The async result value, if it's a value type (it has to be boxed as an object, since the calling of it, and if it is, it will have to be boxed so the calling code can reference it as an object).
code doesn't know what type it's going to be). 3. The async result value, if it's a value type (it has to be boxed as an object, since the calling
</remarks> code doesn't know what type it's going to be).
<param name="target">The object whose method is to be executed.</param> </remarks>
<param name="parameters">Parameters to pass to the method.</param> <param name="target">The object whose method is to be executed.</param>
<returns>An object that you can "await" to get the method return value.</returns> <param name="parameters">Parameters to pass to the method.</param>
</member> <returns>An object that you can "await" to get the method return value.</returns>
<member name="T:LINGYUN.Abp.EventBus.CAP.Internal.ObjectMethodExecutorAwaitable"> </member>
<summary> <member name="T:LINGYUN.Abp.EventBus.CAP.Internal.ObjectMethodExecutorAwaitable">
Provides a common awaitable structure that <see cref="M:LINGYUN.Abp.EventBus.CAP.Internal.ObjectMethodExecutor.ExecuteAsync(System.Object,System.Object[])" /> can <summary>
return, regardless of whether the underlying value is a System.Task, an FSharpAsync, or an Provides a common awaitable structure that <see cref="M:LINGYUN.Abp.EventBus.CAP.Internal.ObjectMethodExecutor.ExecuteAsync(System.Object,System.Object[])" /> can
application-defined custom awaitable. return, regardless of whether the underlying value is a System.Task, an FSharpAsync, or an
</summary> application-defined custom awaitable.
</member> </summary>
<member name="T:LINGYUN.Abp.EventBus.CAP.Internal.ObjectMethodExecutorFSharpSupport"> </member>
<summary> <member name="T:LINGYUN.Abp.EventBus.CAP.Internal.ObjectMethodExecutorFSharpSupport">
Helper for detecting whether a given type is FSharpAsync`1, and if so, supplying <summary>
an <see cref="T:System.Linq.Expressions.Expression" /> for mapping instances of that type to a C# awaitable. Helper for detecting whether a given type is FSharpAsync`1, and if so, supplying
</summary> an <see cref="T:System.Linq.Expressions.Expression" /> for mapping instances of that type to a C# awaitable.
<remarks> </summary>
The main design goal here is to avoid taking a compile-time dependency on <remarks>
FSharp.Core.dll, because non-F# applications wouldn't use it. So all the references The main design goal here is to avoid taking a compile-time dependency on
to FSharp types have to be constructed dynamically at runtime. FSharp.Core.dll, because non-F# applications wouldn't use it. So all the references
</remarks> to FSharp types have to be constructed dynamically at runtime.
</member> </remarks>
<member name="T:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions"> </member>
<summary> <member name="T:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions">
CAP ServiceCollectionExtensions <summary>
</summary> CAP ServiceCollectionExtensions
</member> </summary>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.AddCAPEventBus(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{DotNetCore.CAP.CapOptions})"> </member>
<summary> <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.AddCAPEventBus(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{DotNetCore.CAP.CapOptions})">
Adds and configures the consistence services for the consistency. <summary>
</summary> Adds and configures the consistence services for the consistency.
<param name="services"></param> </summary>
<param name="capAction"></param> <param name="services"></param>
<returns></returns> <param name="capAction"></param>
</member> <returns></returns>
</members> </member>
</doc> </members>
</doc>

490
aspnet-core/modules/common/LINGYUN.Abp.EventBus.CAP/LINGYUN/Abp/EventBus/CAP/CAPDistributedEventBus.cs

@ -1,244 +1,246 @@
using DotNetCore.CAP; using DotNetCore.CAP;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Clients; using Volo.Abp.Clients;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.EventBus; using Volo.Abp.EventBus;
using Volo.Abp.EventBus.Distributed; using Volo.Abp.EventBus.Distributed;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
using Volo.Abp.Threading; using Volo.Abp.Threading;
using Volo.Abp.Users; using Volo.Abp.Users;
namespace LINGYUN.Abp.EventBus.CAP namespace LINGYUN.Abp.EventBus.CAP
{ {
/// <summary> /// <summary>
/// CAP分布式事件总线 /// CAP分布式事件总线
/// </summary> /// </summary>
[Dependency(ServiceLifetime.Singleton, ReplaceServices = true)] [Dependency(ServiceLifetime.Singleton, ReplaceServices = true)]
[ExposeServices(typeof(IDistributedEventBus), typeof(CAPDistributedEventBus))] [ExposeServices(typeof(IDistributedEventBus), typeof(CAPDistributedEventBus))]
public class CAPDistributedEventBus : EventBusBase, IDistributedEventBus public class CAPDistributedEventBus : EventBusBase, IDistributedEventBus
{ {
/// <summary> /// <summary>
/// Abp分布式事件总线配置 /// Abp分布式事件总线配置
/// </summary> /// </summary>
protected AbpDistributedEventBusOptions AbpDistributedEventBusOptions { get; } protected AbpDistributedEventBusOptions AbpDistributedEventBusOptions { get; }
/// <summary> /// <summary>
/// CAP消息发布接口 /// CAP消息发布接口
/// </summary> /// </summary>
protected readonly ICapPublisher CapPublisher; protected readonly ICapPublisher CapPublisher;
/// <summary> /// <summary>
/// 自定义事件注册接口 /// 自定义事件注册接口
/// </summary> /// </summary>
protected ICustomDistributedEventSubscriber CustomDistributedEventSubscriber { get; } protected ICustomDistributedEventSubscriber CustomDistributedEventSubscriber { get; }
/// <summary> /// <summary>
/// 本地事件处理器工厂对象集合 /// 本地事件处理器工厂对象集合
/// </summary> /// </summary>
protected ConcurrentDictionary<Type, List<IEventHandlerFactory>> HandlerFactories { get; } protected ConcurrentDictionary<Type, List<IEventHandlerFactory>> HandlerFactories { get; }
/// <summary> /// <summary>
/// 本地事件集合 /// 本地事件集合
/// </summary> /// </summary>
protected ConcurrentDictionary<string, Type> EventTypes { get; } protected ConcurrentDictionary<string, Type> EventTypes { get; }
/// <summary> /// <summary>
/// 当前用户 /// 当前用户
/// </summary> /// </summary>
protected ICurrentUser CurrentUser { get; } protected ICurrentUser CurrentUser { get; }
/// <summary> /// <summary>
/// 当前客户端 /// 当前客户端
/// </summary> /// </summary>
protected ICurrentClient CurrentClient { get; } protected ICurrentClient CurrentClient { get; }
/// <summary> /// <summary>
/// 取消令牌 /// 取消令牌
/// </summary> /// </summary>
protected ICancellationTokenProvider CancellationTokenProvider { get; } protected ICancellationTokenProvider CancellationTokenProvider { get; }
/// <summary> /// <summary>
/// constructor /// constructor
/// </summary> /// </summary>
/// <param name="serviceScopeFactory"></param> /// <param name="serviceScopeFactory"></param>
/// <param name="distributedEventBusOptions"></param> /// <param name="distributedEventBusOptions"></param>
/// <param name="capPublisher"></param> /// <param name="capPublisher"></param>
/// <param name="currentUser"></param> /// <param name="currentUser"></param>
/// <param name="currentTenant"></param> /// <param name="currentClient"></param>
/// <param name="currentClient"></param> /// <param name="currentTenant"></param>
/// <param name="cancellationTokenProvider"></param> /// <param name="eventErrorHandler"></param>
/// <param name="customDistributedEventSubscriber"></param> /// <param name="cancellationTokenProvider"></param>
public CAPDistributedEventBus(IServiceScopeFactory serviceScopeFactory, /// <param name="customDistributedEventSubscriber"></param>
IOptions<AbpDistributedEventBusOptions> distributedEventBusOptions, public CAPDistributedEventBus(IServiceScopeFactory serviceScopeFactory,
ICapPublisher capPublisher, IOptions<AbpDistributedEventBusOptions> distributedEventBusOptions,
ICurrentUser currentUser, ICapPublisher capPublisher,
ICurrentClient currentClient, ICurrentUser currentUser,
ICurrentTenant currentTenant, ICurrentClient currentClient,
ICancellationTokenProvider cancellationTokenProvider, ICurrentTenant currentTenant,
ICustomDistributedEventSubscriber customDistributedEventSubscriber) IEventErrorHandler eventErrorHandler,
: base(serviceScopeFactory, currentTenant) ICancellationTokenProvider cancellationTokenProvider,
{ ICustomDistributedEventSubscriber customDistributedEventSubscriber)
CapPublisher = capPublisher; : base(serviceScopeFactory, currentTenant, eventErrorHandler)
CurrentUser = currentUser; {
CurrentClient = currentClient; CapPublisher = capPublisher;
CancellationTokenProvider = cancellationTokenProvider; CurrentUser = currentUser;
CustomDistributedEventSubscriber = customDistributedEventSubscriber; CurrentClient = currentClient;
AbpDistributedEventBusOptions = distributedEventBusOptions.Value; CancellationTokenProvider = cancellationTokenProvider;
HandlerFactories = new ConcurrentDictionary<Type, List<IEventHandlerFactory>>(); CustomDistributedEventSubscriber = customDistributedEventSubscriber;
EventTypes = new ConcurrentDictionary<string, Type>(); AbpDistributedEventBusOptions = distributedEventBusOptions.Value;
} HandlerFactories = new ConcurrentDictionary<Type, List<IEventHandlerFactory>>();
/// <summary> EventTypes = new ConcurrentDictionary<string, Type>();
/// 订阅事件 }
/// </summary> /// <summary>
/// <param name="eventType"></param> /// 订阅事件
/// <param name="factory"></param> /// </summary>
/// <returns></returns> /// <param name="eventType"></param>
public override IDisposable Subscribe(Type eventType, IEventHandlerFactory factory) /// <param name="factory"></param>
{ /// <returns></returns>
// 自定义的事件订阅者,可以不需要事件注册的事件类型 public override IDisposable Subscribe(Type eventType, IEventHandlerFactory factory)
CustomDistributedEventSubscriber.Subscribe(eventType, factory); {
return new DisposeAction(() => CustomDistributedEventSubscriber.UnSubscribe(eventType, factory)); // 自定义的事件订阅者,可以不需要事件注册的事件类型
} CustomDistributedEventSubscriber.Subscribe(eventType, factory);
/// <summary> return new DisposeAction(() => CustomDistributedEventSubscriber.UnSubscribe(eventType, factory));
/// 退订事件 }
/// </summary> /// <summary>
/// <typeparam name="TEvent">事件类型</typeparam> /// 退订事件
/// <param name="action"></param> /// </summary>
public override void Unsubscribe<TEvent>(Func<TEvent, Task> action) /// <typeparam name="TEvent">事件类型</typeparam>
{ /// <param name="action"></param>
Check.NotNull(action, nameof(action)); public override void Unsubscribe<TEvent>(Func<TEvent, Task> action)
{
GetOrCreateHandlerFactories(typeof(TEvent)) Check.NotNull(action, nameof(action));
.Locking(factories =>
{ GetOrCreateHandlerFactories(typeof(TEvent))
factories.RemoveAll( .Locking(factories =>
factory => {
{ factories.RemoveAll(
if (!(factory is SingleInstanceHandlerFactory singleInstanceFactory)) factory =>
{ {
return false; if (!(factory is SingleInstanceHandlerFactory singleInstanceFactory))
} {
return false;
if (!(singleInstanceFactory.HandlerInstance is ActionEventHandler<TEvent> actionHandler)) }
{
return false; if (!(singleInstanceFactory.HandlerInstance is ActionEventHandler<TEvent> actionHandler))
} {
return false;
return actionHandler.Action == action; }
});
}); return actionHandler.Action == action;
} });
/// <summary> });
/// 退订事件 }
/// </summary> /// <summary>
/// <param name="eventType">事件类型</param> /// 退订事件
/// <param name="handler">事件处理器</param> /// </summary>
public override void Unsubscribe(Type eventType, IEventHandler handler) /// <param name="eventType">事件类型</param>
{ /// <param name="handler">事件处理器</param>
GetOrCreateHandlerFactories(eventType) public override void Unsubscribe(Type eventType, IEventHandler handler)
.Locking(factories => {
{ GetOrCreateHandlerFactories(eventType)
factories.RemoveAll( .Locking(factories =>
factory => {
factory is SingleInstanceHandlerFactory && factories.RemoveAll(
(factory as SingleInstanceHandlerFactory).HandlerInstance == handler factory =>
); factory is SingleInstanceHandlerFactory &&
}); (factory as SingleInstanceHandlerFactory).HandlerInstance == handler
} );
/// <summary> });
/// 退订事件 }
/// </summary> /// <summary>
/// <param name="eventType">事件类型</param> /// 退订事件
/// <param name="factory">事件处理器工厂</param> /// </summary>
public override void Unsubscribe(Type eventType, IEventHandlerFactory factory) /// <param name="eventType">事件类型</param>
{ /// <param name="factory">事件处理器工厂</param>
GetOrCreateHandlerFactories(eventType).Locking(factories => factories.Remove(factory)); public override void Unsubscribe(Type eventType, IEventHandlerFactory factory)
CustomDistributedEventSubscriber.UnSubscribe(eventType, factory); {
} GetOrCreateHandlerFactories(eventType).Locking(factories => factories.Remove(factory));
/// <summary> CustomDistributedEventSubscriber.UnSubscribe(eventType, factory);
/// 退订所有事件 }
/// </summary> /// <summary>
/// <param name="eventType">事件类型</param> /// 退订所有事件
public override void UnsubscribeAll(Type eventType) /// </summary>
{ /// <param name="eventType">事件类型</param>
GetOrCreateHandlerFactories(eventType).Locking(factories => factories.Clear()); public override void UnsubscribeAll(Type eventType)
} {
/// <summary> GetOrCreateHandlerFactories(eventType).Locking(factories => factories.Clear());
/// 订阅事件 }
/// </summary> /// <summary>
/// <typeparam name="TEvent">事件类型</typeparam> /// 订阅事件
/// <param name="handler">事件处理器</param> /// </summary>
/// <returns></returns> /// <typeparam name="TEvent">事件类型</typeparam>
public IDisposable Subscribe<TEvent>(IDistributedEventHandler<TEvent> handler) where TEvent : class /// <param name="handler">事件处理器</param>
{ /// <returns></returns>
return Subscribe(typeof(TEvent), handler); public IDisposable Subscribe<TEvent>(IDistributedEventHandler<TEvent> handler) where TEvent : class
} {
return Subscribe(typeof(TEvent), handler);
/// <summary> }
/// 发布事件
/// </summary> /// <summary>
/// <param name="eventType">事件类型</param> /// 发布事件
/// <param name="eventData">事件数据对象</param> /// </summary>
/// <returns></returns> /// <param name="eventType">事件类型</param>
public override async Task PublishAsync(Type eventType, object eventData) /// <param name="eventData">事件数据对象</param>
{ /// <returns></returns>
var eventName = EventNameAttribute.GetNameOrDefault(eventType); public override async Task PublishAsync(Type eventType, object eventData)
await CapPublisher {
.PublishAsync( var eventName = EventNameAttribute.GetNameOrDefault(eventType);
eventName, eventData, await CapPublisher
new Dictionary<string, string> .PublishAsync(
{ eventName, eventData,
{ AbpCAPHeaders.UserId, CurrentUser.Id?.ToString() ?? "" }, new Dictionary<string, string>
{ AbpCAPHeaders.ClientId, CurrentClient.Id ?? "" }, {
{ AbpCAPHeaders.TenantId, CurrentTenant.Id?.ToString() ?? "" }, { AbpCAPHeaders.UserId, CurrentUser.Id?.ToString() ?? "" },
}, { AbpCAPHeaders.ClientId, CurrentClient.Id ?? "" },
CancellationTokenProvider.FallbackToProvider()); { AbpCAPHeaders.TenantId, CurrentTenant.Id?.ToString() ?? "" },
} },
/// <summary> CancellationTokenProvider.FallbackToProvider());
/// 获取事件处理器工厂列表 }
/// </summary> /// <summary>
/// <param name="eventType"></param> /// 获取事件处理器工厂列表
/// <returns></returns> /// </summary>
protected override IEnumerable<EventTypeWithEventHandlerFactories> GetHandlerFactories(Type eventType) /// <param name="eventType"></param>
{ /// <returns></returns>
var handlerFactoryList = new List<EventTypeWithEventHandlerFactories>(); protected override IEnumerable<EventTypeWithEventHandlerFactories> GetHandlerFactories(Type eventType)
{
foreach (var handlerFactory in HandlerFactories.Where(hf => ShouldTriggerEventForHandler(eventType, hf.Key))) var handlerFactoryList = new List<EventTypeWithEventHandlerFactories>();
{
handlerFactoryList.Add(new EventTypeWithEventHandlerFactories(handlerFactory.Key, handlerFactory.Value)); foreach (var handlerFactory in HandlerFactories.Where(hf => ShouldTriggerEventForHandler(eventType, hf.Key)))
} {
handlerFactoryList.Add(new EventTypeWithEventHandlerFactories(handlerFactory.Key, handlerFactory.Value));
return handlerFactoryList.ToArray(); }
}
return handlerFactoryList.ToArray();
private List<IEventHandlerFactory> GetOrCreateHandlerFactories(Type eventType) }
{
return HandlerFactories.GetOrAdd( private List<IEventHandlerFactory> GetOrCreateHandlerFactories(Type eventType)
eventType, {
type => return HandlerFactories.GetOrAdd(
{ eventType,
var eventName = EventNameAttribute.GetNameOrDefault(type); type =>
EventTypes[eventName] = type; {
return new List<IEventHandlerFactory>(); var eventName = EventNameAttribute.GetNameOrDefault(type);
} EventTypes[eventName] = type;
); return new List<IEventHandlerFactory>();
} }
);
private static bool ShouldTriggerEventForHandler(Type targetEventType, Type handlerEventType) }
{
//Should trigger same type private static bool ShouldTriggerEventForHandler(Type targetEventType, Type handlerEventType)
if (handlerEventType == targetEventType) {
{ //Should trigger same type
return true; if (handlerEventType == targetEventType)
} {
return true;
//TODO: Support inheritance? But it does not support on subscription to RabbitMq! }
//Should trigger for inherited types
if (handlerEventType.IsAssignableFrom(targetEventType)) //TODO: Support inheritance? But it does not support on subscription to RabbitMq!
{ //Should trigger for inherited types
return true; if (handlerEventType.IsAssignableFrom(targetEventType))
} {
return true;
return false; }
}
} return false;
} }
}
}

2
aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling.Emailing/LINGYUN.Abp.ExceptionHandling.Emailing.csproj

@ -22,7 +22,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Emailing" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Emailing" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling.Notifications/LINGYUN.Abp.ExceptionHandling.Notifications.csproj

@ -18,7 +18,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Localization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Localization" Version="4.4.0" />
</ItemGroup> </ItemGroup>

2
aspnet-core/modules/common/LINGYUN.Abp.ExceptionHandling/LINGYUN.Abp.ExceptionHandling.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Localization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Localization" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

30
aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation.Redis.Client/LINGYUN.Abp.Features.LimitValidation.Redis.Client.csproj

@ -1,15 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
<Description>功能限制验证组件Redis客户端格式实现</Description> <Description>功能限制验证组件Redis客户端格式实现</Description>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.Features.LimitValidation.Redis\LINGYUN.Abp.Features.LimitValidation.Redis.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.Features.LimitValidation.Redis\LINGYUN.Abp.Features.LimitValidation.Redis.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation.Redis/LINGYUN.Abp.Features.LimitValidation.Redis.csproj

@ -11,7 +11,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.Options" Version="5.0.0" /> <PackageReference Include="Microsoft.Extensions.Options" Version="5.0.0" />
<PackageReference Include="StackExchange.Redis" Version="2.0.593" /> <PackageReference Include="StackExchange.Redis" Version="2.0.593" />
<PackageReference Include="Volo.Abp.Core" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Core" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/common/LINGYUN.Abp.Features.LimitValidation/LINGYUN.Abp.Features.LimitValidation.csproj

@ -18,7 +18,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Features" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Features" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

50
aspnet-core/modules/common/LINGYUN.Abp.Hangfire.Dashboard/LINGYUN.Abp.Hangfire.Dashboard.csproj

@ -1,25 +1,25 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<None Remove="LINGYUN\Abp\Hangfire\Dashboard\Localization\Resources\en.json" /> <None Remove="LINGYUN\Abp\Hangfire\Dashboard\Localization\Resources\en.json" />
<None Remove="LINGYUN\Abp\Hangfire\Dashboard\Localization\Resources\zh-Hans.json" /> <None Remove="LINGYUN\Abp\Hangfire\Dashboard\Localization\Resources\zh-Hans.json" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="LINGYUN\Abp\Hangfire\Dashboard\Localization\Resources\en.json" /> <EmbeddedResource Include="LINGYUN\Abp\Hangfire\Dashboard\Localization\Resources\en.json" />
<EmbeddedResource Include="LINGYUN\Abp\Hangfire\Dashboard\Localization\Resources\zh-Hans.json" /> <EmbeddedResource Include="LINGYUN\Abp\Hangfire\Dashboard\Localization\Resources\zh-Hans.json" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Authorization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Authorization" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Hangfire" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Hangfire" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

30
aspnet-core/modules/common/LINGYUN.Abp.Hangfire.MySqlStorage/LINGYUN.Abp.Hangfire.Storage.MySql.csproj

@ -1,15 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Hangfire.MySqlStorage" Version="2.0.3" /> <PackageReference Include="Hangfire.MySqlStorage" Version="2.0.3" />
<PackageReference Include="Volo.Abp.HangFire" Version="4.3.0" /> <PackageReference Include="Volo.Abp.HangFire" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

4
aspnet-core/modules/common/LINGYUN.Abp.Hangfire.Storage.SqlServer/LINGYUN.Abp.Hangfire.Storage.SqlServer.csproj

@ -8,8 +8,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="HangFire.SqlServer" Version="1.7.22" /> <PackageReference Include="HangFire.SqlServer" Version="1.7.24" />
<PackageReference Include="Volo.Abp.HangFire" Version="4.3.0" /> <PackageReference Include="Volo.Abp.HangFire" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

4
aspnet-core/modules/common/LINGYUN.Abp.IM.SignalR/LINGYUN.Abp.IM.SignalR.csproj

@ -8,8 +8,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.SignalR" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AspNetCore.SignalR" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Ddd.Application.Contracts" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Ddd.Application.Contracts" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

8
aspnet-core/modules/common/LINGYUN.Abp.IM/LINGYUN.Abp.IM.csproj

@ -8,12 +8,12 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Auditing" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Auditing" Version="4.4.0" />
<PackageReference Include="Volo.Abp.EventBus" Version="4.3.0" /> <PackageReference Include="Volo.Abp.EventBus" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.RealTime\LINGYUN.Abp.RealTime.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.RealTime\LINGYUN.Abp.RealTime.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

4
aspnet-core/modules/common/LINGYUN.Abp.IdentityModel/LINGYUN.Abp.IdentityModel.csproj

@ -13,8 +13,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Caching" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Caching" Version="4.4.0" />
<PackageReference Include="Volo.Abp.IdentityModel" Version="4.3.0" /> <PackageReference Include="Volo.Abp.IdentityModel" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

30
aspnet-core/modules/common/LINGYUN.Abp.Localization.Dynamic/LINGYUN.Abp.Localization.Dynamic.csproj

@ -1,15 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.EventBus" Version="4.3.0" /> <PackageReference Include="Volo.Abp.EventBus" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Localization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Localization" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

58
aspnet-core/modules/common/LINGYUN.Abp.Location.Amap/LINGYUN.Abp.Location.Amap.csproj

@ -1,29 +1,29 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<None Remove="LINGYUN\Abp\Location\Amap\Localization\Resources\en.json" /> <None Remove="LINGYUN\Abp\Location\Amap\Localization\Resources\en.json" />
<None Remove="LINGYUN\Abp\Location\Amap\Localization\Resources\zh-Hans.json" /> <None Remove="LINGYUN\Abp\Location\Amap\Localization\Resources\zh-Hans.json" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="LINGYUN\Abp\Location\Amap\Localization\Resources\en.json" /> <EmbeddedResource Include="LINGYUN\Abp\Location\Amap\Localization\Resources\en.json" />
<EmbeddedResource Include="LINGYUN\Abp\Location\Amap\Localization\Resources\zh-Hans.json" /> <EmbeddedResource Include="LINGYUN\Abp\Location\Amap\Localization\Resources\zh-Hans.json" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="3.1.2" /> <PackageReference Include="Microsoft.Extensions.Http.Polly" Version="3.1.2" />
<PackageReference Include="Volo.Abp.Json" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Json" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Localization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Localization" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Threading" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Threading" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.Location\LINGYUN.Abp.Location.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.Location\LINGYUN.Abp.Location.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

6
aspnet-core/modules/common/LINGYUN.Abp.Location.Baidu/LINGYUN.Abp.Location.Baidu.csproj

@ -20,9 +20,9 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="5.0.0" /> <PackageReference Include="Microsoft.Extensions.Http.Polly" Version="5.0.0" />
<PackageReference Include="Volo.Abp.Localization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Localization" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Json" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Json" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Threading" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Threading" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

6
aspnet-core/modules/common/LINGYUN.Abp.Location.Tencent/LINGYUN.Abp.Location.Tencent.csproj

@ -20,9 +20,9 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="5.0.0" /> <PackageReference Include="Microsoft.Extensions.Http.Polly" Version="5.0.0" />
<PackageReference Include="Volo.Abp.Localization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Localization" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Json" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Json" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Threading" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Threading" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/common/LINGYUN.Abp.Location/LINGYUN.Abp.Location.csproj

@ -9,7 +9,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Core" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Core" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

4
aspnet-core/modules/common/LINGYUN.Abp.Notifications.SignalR/LINGYUN.Abp.Notifications.SignalR.csproj

@ -8,8 +8,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.SignalR" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AspNetCore.SignalR" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Ddd.Application" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Ddd.Application" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/common/LINGYUN.Abp.Notifications.Sms/LINGYUN.Abp.Notifications.Sms.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Sms" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Sms" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

28
aspnet-core/modules/common/LINGYUN.Abp.Notifications.Workers/LINGYUN.Abp.Notifications.Workers.csproj

@ -1,14 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.Notifications\LINGYUN.Abp.Notifications.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.Notifications\LINGYUN.Abp.Notifications.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

42
aspnet-core/modules/common/LINGYUN.Abp.Notifications/LINGYUN.Abp.Notifications.csproj

@ -1,21 +1,21 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.EventBus" Version="4.3.0" /> <PackageReference Include="Volo.Abp.EventBus" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Json" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Json" Version="4.4.0" />
<PackageReference Include="Volo.Abp.BackgroundJobs.Abstractions" Version="4.3.0" /> <PackageReference Include="Volo.Abp.BackgroundJobs.Abstractions" Version="4.4.0" />
<PackageReference Include="Volo.Abp.BackgroundWorkers" Version="4.3.0" /> <PackageReference Include="Volo.Abp.BackgroundWorkers" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.RealTime\LINGYUN.Abp.RealTime.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.RealTime\LINGYUN.Abp.RealTime.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
aspnet-core/modules/common/LINGYUN.Abp.RealTime.SignalR/LINGYUN.Abp.RealTime.SignalR.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.SignalR" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AspNetCore.SignalR" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

4
aspnet-core/modules/common/LINGYUN.Abp.RealTime/LINGYUN.Abp.RealTime.csproj

@ -8,8 +8,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Core" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Core" Version="4.4.0" />
<PackageReference Include="Volo.Abp.EventBus.Abstractions" Version="4.3.0" /> <PackageReference Include="Volo.Abp.EventBus.Abstractions" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
aspnet-core/modules/common/LINGYUN.Abp.Settings/LINGYUN.Abp.Settings.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Settings" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Settings" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

58
aspnet-core/modules/common/LINGYUN.Abp.Sms.Aliyun/LINGYUN.Abp.Sms.Aliyun.csproj

@ -1,29 +1,29 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
<Description>阿里云短信服务</Description> <Description>阿里云短信服务</Description>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<None Remove="LINGYUN\Abp\Sms\Aliyun\Localization\Resources\en.json" /> <None Remove="LINGYUN\Abp\Sms\Aliyun\Localization\Resources\en.json" />
<None Remove="LINGYUN\Abp\Sms\Aliyun\Localization\Resources\zh-Hans.json" /> <None Remove="LINGYUN\Abp\Sms\Aliyun\Localization\Resources\zh-Hans.json" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="LINGYUN\Abp\Sms\Aliyun\Localization\Resources\en.json" /> <EmbeddedResource Include="LINGYUN\Abp\Sms\Aliyun\Localization\Resources\en.json" />
<EmbeddedResource Include="LINGYUN\Abp\Sms\Aliyun\Localization\Resources\zh-Hans.json" /> <EmbeddedResource Include="LINGYUN\Abp\Sms\Aliyun\Localization\Resources\zh-Hans.json" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Sms" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Sms" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\cloud-aliyun\LINGYUN.Abp.Aliyun\LINGYUN.Abp.Aliyun.csproj" /> <ProjectReference Include="..\..\cloud-aliyun\LINGYUN.Abp.Aliyun\LINGYUN.Abp.Aliyun.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

24
aspnet-core/modules/console/LINGYUN.Abp.Encryption.Console/LINGYUN.Abp.Encryption.Console.csproj

@ -1,12 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework> <TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Security" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Security" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

30
aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Actors.AspNetCore/LINGYUN.Abp.Dapr.Actors.AspNetCore.csproj

@ -1,15 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>net5.0</TargetFramework> <TargetFramework>net5.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Dapr.Actors.AspNetCore" Version="1.1.0" /> <PackageReference Include="Dapr.Actors.AspNetCore" Version="1.1.0" />
<PackageReference Include="Volo.Abp.AspNetCore" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AspNetCore" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

28
aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Actors/LINGYUN.Abp.Dapr.Actors.csproj

@ -1,14 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>net5.0</TargetFramework> <TargetFramework>net5.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Dapr.Actors" Version="1.1.0" /> <PackageReference Include="Dapr.Actors" Version="1.1.0" />
<PackageReference Include="Volo.Abp.Http.Client" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Http.Client" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

26
aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Client/LINGYUN.Abp.Dapr.Client.csproj

@ -1,13 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net5.0</TargetFramework> <TargetFramework>net5.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Dapr.Client" Version="1.1.0" /> <PackageReference Include="Dapr.Client" Version="1.1.0" />
<PackageReference Include="Volo.Abp.Http.Client" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Http.Client" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

4
aspnet-core/modules/features/LINGYUN.Abp.FeatureManagement.Client/LINGYUN.Abp.FeatureManagement.Client.csproj

@ -13,8 +13,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Authorization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Authorization" Version="4.4.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.Domain" Version="4.3.0" /> <PackageReference Include="Volo.Abp.FeatureManagement.Domain" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/features/LINGYUN.Abp.Features.Client/LINGYUN.Abp.Features.Client.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Features" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Features" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN.Abp.Identity.Application.Contracts.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Identity.Application.Contracts" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Identity.Application.Contracts" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

30
aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/AbpIdentityApplicationContractsModule.cs

@ -1,16 +1,14 @@
using Volo.Abp.Application; using Volo.Abp.Authorization;
using Volo.Abp.Authorization; using Volo.Abp.Modularity;
using Volo.Abp.Modularity;
namespace LINGYUN.Abp.Identity
namespace LINGYUN.Abp.Identity {
{ [DependsOn(
[DependsOn( typeof(Volo.Abp.Identity.AbpIdentityApplicationContractsModule),
typeof(Volo.Abp.Identity.AbpIdentityApplicationContractsModule), typeof(AbpIdentityDomainSharedModule),
typeof(AbpIdentityDomainSharedModule), typeof(AbpAuthorizationModule)
typeof(AbpAuthorizationModule), )]
typeof(AbpDddApplicationModule) public class AbpIdentityApplicationContractsModule : AbpModule
)] {
public class AbpIdentityApplicationContractsModule : AbpModule }
{ }
}
}

111
aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application.Contracts/LINGYUN/Abp/Identity/IIdentityUserAppService.cs

@ -1,49 +1,62 @@
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
using Volo.Abp.Identity; using Volo.Abp.Identity;
namespace LINGYUN.Abp.Identity namespace LINGYUN.Abp.Identity
{ {
public interface IIdentityUserAppService : IApplicationService public interface IIdentityUserAppService : IApplicationService
{ {
#region OrganizationUnit #region OrganizationUnit
Task<ListResultDto<OrganizationUnitDto>> GetOrganizationUnitsAsync(Guid id); Task<ListResultDto<OrganizationUnitDto>> GetOrganizationUnitsAsync(Guid id);
Task SetOrganizationUnitsAsync(Guid id, IdentityUserOrganizationUnitUpdateDto input); Task SetOrganizationUnitsAsync(Guid id, IdentityUserOrganizationUnitUpdateDto input);
Task RemoveOrganizationUnitsAsync(Guid id, Guid ouId); Task RemoveOrganizationUnitsAsync(Guid id, Guid ouId);
#endregion #endregion
#region ClaimType #region ClaimType
Task<ListResultDto<IdentityClaimDto>> GetClaimsAsync(Guid id); Task<ListResultDto<IdentityClaimDto>> GetClaimsAsync(Guid id);
Task AddClaimAsync(Guid id, IdentityUserClaimCreateDto input); Task AddClaimAsync(Guid id, IdentityUserClaimCreateDto input);
Task UpdateClaimAsync(Guid id, IdentityUserClaimUpdateDto input); Task UpdateClaimAsync(Guid id, IdentityUserClaimUpdateDto input);
Task DeleteClaimAsync(Guid id, IdentityUserClaimDeleteDto input); Task DeleteClaimAsync(Guid id, IdentityUserClaimDeleteDto input);
#endregion #endregion
/// <summary> /// <summary>
/// 变更用户双因素验证选项 /// 变更用户双因素验证选项
/// </summary> /// </summary>
/// <param name="id"></param> /// <param name="id"></param>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
Task ChangeTwoFactorEnabledAsync(Guid id, ChangeTwoFactorEnabledDto input); Task ChangeTwoFactorEnabledAsync(Guid id, ChangeTwoFactorEnabledDto input);
/// <summary> /// <summary>
/// 变更用户密码 /// 变更用户密码
/// </summary> /// </summary>
/// <param name="id"></param> /// <param name="id"></param>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
Task ChangePasswordAsync(Guid id, ChangePasswordInput input); Task ChangePasswordAsync(Guid id, ChangePasswordInput input);
} /// <summary>
} /// 锁定
/// </summary>
/// <param name="id"></param>
/// <param name="seconds">锁定时长</param>
/// <returns></returns>
Task LockAsync(Guid id, int seconds);
/// <summary>
/// 解除锁定
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task UnLockAsync(Guid id);
}
}

2
aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application/LINGYUN.Abp.Identity.Application.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Identity.Application" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Identity.Application" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

323
aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application/LINGYUN/Abp/Identity/IdentityUserAppService.cs

@ -1,142 +1,181 @@
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Security.Claims; using System.Security.Claims;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Identity; using Volo.Abp.Identity;
namespace LINGYUN.Abp.Identity namespace LINGYUN.Abp.Identity
{ {
[Authorize(Volo.Abp.Identity.IdentityPermissions.Users.Default)] [Authorize(Volo.Abp.Identity.IdentityPermissions.Users.Default)]
public class IdentityUserAppService : IdentityAppServiceBase, IIdentityUserAppService public class IdentityUserAppService : IdentityAppServiceBase, IIdentityUserAppService
{ {
protected IdentityUserManager UserManager { get; } protected IdentityUserManager UserManager { get; }
protected IOptions<IdentityOptions> IdentityOptions { get; } protected IOptions<IdentityOptions> IdentityOptions { get; }
public IdentityUserAppService( public IdentityUserAppService(
IdentityUserManager userManager, IdentityUserManager userManager,
IOptions<IdentityOptions> identityOptions) IOptions<IdentityOptions> identityOptions)
{ {
UserManager = userManager; UserManager = userManager;
IdentityOptions = identityOptions; IdentityOptions = identityOptions;
} }
#region OrganizationUnit #region OrganizationUnit
[Authorize(IdentityPermissions.Users.ManageOrganizationUnits)] [Authorize(IdentityPermissions.Users.ManageOrganizationUnits)]
public virtual async Task<ListResultDto<OrganizationUnitDto>> GetOrganizationUnitsAsync(Guid id) public virtual async Task<ListResultDto<OrganizationUnitDto>> GetOrganizationUnitsAsync(Guid id)
{ {
var user = await UserManager.GetByIdAsync(id); var user = await UserManager.GetByIdAsync(id);
var origanizationUnits = await UserManager.GetOrganizationUnitsAsync(user); var origanizationUnits = await UserManager.GetOrganizationUnitsAsync(user);
return new ListResultDto<OrganizationUnitDto>( return new ListResultDto<OrganizationUnitDto>(
ObjectMapper.Map<List<OrganizationUnit>, List<OrganizationUnitDto>>(origanizationUnits)); ObjectMapper.Map<List<OrganizationUnit>, List<OrganizationUnitDto>>(origanizationUnits));
} }
[Authorize(IdentityPermissions.Users.ManageOrganizationUnits)] [Authorize(IdentityPermissions.Users.ManageOrganizationUnits)]
public virtual async Task SetOrganizationUnitsAsync(Guid id, IdentityUserOrganizationUnitUpdateDto input) public virtual async Task SetOrganizationUnitsAsync(Guid id, IdentityUserOrganizationUnitUpdateDto input)
{ {
var user = await UserManager.GetByIdAsync(id); var user = await UserManager.GetByIdAsync(id);
await UserManager.SetOrganizationUnitsAsync(user, input.OrganizationUnitIds); await UserManager.SetOrganizationUnitsAsync(user, input.OrganizationUnitIds);
await CurrentUnitOfWork.SaveChangesAsync(); await CurrentUnitOfWork.SaveChangesAsync();
} }
[Authorize(IdentityPermissions.Users.ManageOrganizationUnits)] [Authorize(IdentityPermissions.Users.ManageOrganizationUnits)]
public virtual async Task RemoveOrganizationUnitsAsync(Guid id, Guid ouId) public virtual async Task RemoveOrganizationUnitsAsync(Guid id, Guid ouId)
{ {
await UserManager.RemoveFromOrganizationUnitAsync(id, ouId); await UserManager.RemoveFromOrganizationUnitAsync(id, ouId);
await CurrentUnitOfWork.SaveChangesAsync(); await CurrentUnitOfWork.SaveChangesAsync();
} }
#endregion #endregion
#region Claim #region Claim
public virtual async Task<ListResultDto<IdentityClaimDto>> GetClaimsAsync(Guid id) public virtual async Task<ListResultDto<IdentityClaimDto>> GetClaimsAsync(Guid id)
{ {
var user = await UserManager.GetByIdAsync(id); var user = await UserManager.GetByIdAsync(id);
return new ListResultDto<IdentityClaimDto>(ObjectMapper.Map<ICollection<IdentityUserClaim>, List<IdentityClaimDto>>(user.Claims)); return new ListResultDto<IdentityClaimDto>(ObjectMapper.Map<ICollection<IdentityUserClaim>, List<IdentityClaimDto>>(user.Claims));
} }
[Authorize(IdentityPermissions.Users.ManageClaims)] [Authorize(IdentityPermissions.Users.ManageClaims)]
public virtual async Task AddClaimAsync(Guid id, IdentityUserClaimCreateDto input) public virtual async Task AddClaimAsync(Guid id, IdentityUserClaimCreateDto input)
{ {
var user = await UserManager.GetByIdAsync(id); var user = await UserManager.GetByIdAsync(id);
var claim = new Claim(input.ClaimType, input.ClaimValue); var claim = new Claim(input.ClaimType, input.ClaimValue);
if (user.FindClaim(claim) != null) if (user.FindClaim(claim) != null)
{ {
throw new UserFriendlyException(L["UserClaimAlreadyExists"]); throw new UserFriendlyException(L["UserClaimAlreadyExists"]);
} }
user.AddClaim(GuidGenerator, claim); user.AddClaim(GuidGenerator, claim);
(await UserManager.UpdateAsync(user)).CheckErrors(); (await UserManager.UpdateAsync(user)).CheckErrors();
await CurrentUnitOfWork.SaveChangesAsync(); await CurrentUnitOfWork.SaveChangesAsync();
} }
[Authorize(IdentityPermissions.Users.ManageClaims)] [Authorize(IdentityPermissions.Users.ManageClaims)]
public virtual async Task UpdateClaimAsync(Guid id, IdentityUserClaimUpdateDto input) public virtual async Task UpdateClaimAsync(Guid id, IdentityUserClaimUpdateDto input)
{ {
var user = await UserManager.GetByIdAsync(id); var user = await UserManager.GetByIdAsync(id);
var oldClaim = new Claim(input.ClaimType, input.ClaimValue); var oldClaim = new Claim(input.ClaimType, input.ClaimValue);
var newClaim = new Claim(input.ClaimType, input.NewClaimValue); var newClaim = new Claim(input.ClaimType, input.NewClaimValue);
user.ReplaceClaim(oldClaim, newClaim); user.ReplaceClaim(oldClaim, newClaim);
(await UserManager.UpdateAsync(user)).CheckErrors(); (await UserManager.UpdateAsync(user)).CheckErrors();
await CurrentUnitOfWork.SaveChangesAsync(); await CurrentUnitOfWork.SaveChangesAsync();
} }
[Authorize(IdentityPermissions.Users.ManageClaims)] [Authorize(IdentityPermissions.Users.ManageClaims)]
public virtual async Task DeleteClaimAsync(Guid id, IdentityUserClaimDeleteDto input) public virtual async Task DeleteClaimAsync(Guid id, IdentityUserClaimDeleteDto input)
{ {
var user = await UserManager.GetByIdAsync(id); var user = await UserManager.GetByIdAsync(id);
user.RemoveClaim(new Claim(input.ClaimType, input.ClaimValue)); user.RemoveClaim(new Claim(input.ClaimType, input.ClaimValue));
(await UserManager.UpdateAsync(user)).CheckErrors(); (await UserManager.UpdateAsync(user)).CheckErrors();
await CurrentUnitOfWork.SaveChangesAsync(); await CurrentUnitOfWork.SaveChangesAsync();
} }
#endregion #endregion
[Authorize(Volo.Abp.Identity.IdentityPermissions.Users.Update)] [Authorize(Volo.Abp.Identity.IdentityPermissions.Users.Update)]
public virtual async Task ChangePasswordAsync(Guid id, ChangePasswordInput input) public virtual async Task ChangePasswordAsync(Guid id, ChangePasswordInput input)
{ {
await IdentityOptions.SetAsync(); var user = await GetUserAsync(id);
var user = await UserManager.GetByIdAsync(id);
if (user.IsExternal)
if (user.IsExternal) {
{ throw new BusinessException(code: Volo.Abp.Identity.IdentityErrorCodes.ExternalUserPasswordChange);
throw new BusinessException(code: Volo.Abp.Identity.IdentityErrorCodes.ExternalUserPasswordChange); }
}
if (user.PasswordHash == null)
if (user.PasswordHash == null) {
{ (await UserManager.AddPasswordAsync(user, input.NewPassword)).CheckErrors();
(await UserManager.AddPasswordAsync(user, input.NewPassword)).CheckErrors();
return;
return; }
}
if (input.CurrentPassword.IsNullOrWhiteSpace())
(await UserManager.ChangePasswordAsync(user, input.CurrentPassword, input.NewPassword)).CheckErrors(); {
} // 管理员重置用户密码
var resetToken = await UserManager.GeneratePasswordResetTokenAsync(user);
[Authorize(Volo.Abp.Identity.IdentityPermissions.Users.Update)] (await UserManager.ResetPasswordAsync(user, resetToken, input.NewPassword)).CheckErrors();
public virtual async Task ChangeTwoFactorEnabledAsync(Guid id, ChangeTwoFactorEnabledDto input) }
{ else
await IdentityOptions.SetAsync(); {
var user = await UserManager.GetByIdAsync(id); // 用户重置密码
(await UserManager.ChangePasswordAsync(user, input.CurrentPassword, input.NewPassword)).CheckErrors();
(await UserManager.SetTwoFactorEnabledWithAccountConfirmedAsync(user, input.Enabled)).CheckErrors(); }
}
await CurrentUnitOfWork.SaveChangesAsync();
} [Authorize(Volo.Abp.Identity.IdentityPermissions.Users.Update)]
} public virtual async Task ChangeTwoFactorEnabledAsync(Guid id, ChangeTwoFactorEnabledDto input)
} {
var user = await GetUserAsync(id);
(await UserManager.SetTwoFactorEnabledWithAccountConfirmedAsync(user, input.Enabled)).CheckErrors();
await CurrentUnitOfWork.SaveChangesAsync();
}
[Authorize(Volo.Abp.Identity.IdentityPermissions.Users.Update)]
public virtual async Task LockAsync(Guid id, int seconds)
{
var user = await GetUserAsync(id);
//if (!UserManager.SupportsUserLockout)
//{
// throw new UserFriendlyException(L["Volo.Abp.Identity:UserLockoutNotEnabled"]);
//}
var endDate = new DateTimeOffset(Clock.Now).AddSeconds(seconds);
(await UserManager.SetLockoutEndDateAsync(user, endDate)).CheckErrors();
await CurrentUnitOfWork.SaveChangesAsync();
}
[Authorize(Volo.Abp.Identity.IdentityPermissions.Users.Update)]
public virtual async Task UnLockAsync(Guid id)
{
var user = await GetUserAsync(id);
(await UserManager.SetLockoutEndDateAsync(user, null)).CheckErrors();
await CurrentUnitOfWork.SaveChangesAsync();
}
protected virtual async Task<IdentityUser> GetUserAsync(Guid id)
{
await IdentityOptions.SetAsync();
var user = await UserManager.GetByIdAsync(id);
return user;
}
}
}

2
aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain.Shared/LINGYUN.Abp.Identity.Domain.Shared.csproj

@ -18,7 +18,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Identity.Domain.Shared" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Identity.Domain.Shared" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
aspnet-core/modules/identity/LINGYUN.Abp.Identity.Domain/LINGYUN.Abp.Identity.Domain.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Identity.Domain" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Identity.Domain" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/identity/LINGYUN.Abp.Identity.EntityFrameworkCore/LINGYUN.Abp.Identity.EntityFrameworkCore.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Identity.EntityFrameworkCore" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Identity.EntityFrameworkCore" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi.Client/LINGYUN.Abp.Identity.HttpApi.Client.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Identity.HttpApi.Client" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Identity.HttpApi.Client" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi/LINGYUN.Abp.Identity.HttpApi.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Identity.HttpApi" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Identity.HttpApi" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

204
aspnet-core/modules/identity/LINGYUN.Abp.Identity.HttpApi/LINGYUN/Abp/Identity/IdentityUserController.cs

@ -1,95 +1,109 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Identity; using Volo.Abp.Identity;
namespace LINGYUN.Abp.Identity namespace LINGYUN.Abp.Identity
{ {
[RemoteService(true, Name = IdentityRemoteServiceConsts.RemoteServiceName)] [RemoteService(true, Name = IdentityRemoteServiceConsts.RemoteServiceName)]
[Area("identity")] [Area("identity")]
[ControllerName("User")] [ControllerName("User")]
[Route("api/identity/users")] [Route("api/identity/users")]
public class IdentityUserController : AbpController, IIdentityUserAppService public class IdentityUserController : AbpController, IIdentityUserAppService
{ {
protected IIdentityUserAppService UserAppService { get; } protected IIdentityUserAppService UserAppService { get; }
public IdentityUserController( public IdentityUserController(
IIdentityUserAppService userAppService) IIdentityUserAppService userAppService)
{ {
UserAppService = userAppService; UserAppService = userAppService;
} }
#region OrganizationUnit #region OrganizationUnit
[HttpGet] [HttpGet]
[Route("{id}/organization-units")] [Route("{id}/organization-units")]
public virtual async Task<ListResultDto<OrganizationUnitDto>> GetOrganizationUnitsAsync(Guid id) public virtual async Task<ListResultDto<OrganizationUnitDto>> GetOrganizationUnitsAsync(Guid id)
{ {
return await UserAppService.GetOrganizationUnitsAsync(id); return await UserAppService.GetOrganizationUnitsAsync(id);
} }
[HttpPut] [HttpPut]
[Route("{id}/organization-units")] [Route("{id}/organization-units")]
public virtual async Task SetOrganizationUnitsAsync(Guid id, IdentityUserOrganizationUnitUpdateDto input) public virtual async Task SetOrganizationUnitsAsync(Guid id, IdentityUserOrganizationUnitUpdateDto input)
{ {
await UserAppService.SetOrganizationUnitsAsync(id, input); await UserAppService.SetOrganizationUnitsAsync(id, input);
} }
[HttpDelete] [HttpDelete]
[Route("{id}/organization-units/{ouId}")] [Route("{id}/organization-units/{ouId}")]
public virtual async Task RemoveOrganizationUnitsAsync(Guid id, Guid ouId) public virtual async Task RemoveOrganizationUnitsAsync(Guid id, Guid ouId)
{ {
await UserAppService.RemoveOrganizationUnitsAsync(id, ouId); await UserAppService.RemoveOrganizationUnitsAsync(id, ouId);
} }
#endregion #endregion
#region Claim #region Claim
[HttpGet] [HttpGet]
[Route("{id}/claims")] [Route("{id}/claims")]
public virtual async Task<ListResultDto<IdentityClaimDto>> GetClaimsAsync(Guid id) public virtual async Task<ListResultDto<IdentityClaimDto>> GetClaimsAsync(Guid id)
{ {
return await UserAppService.GetClaimsAsync(id); return await UserAppService.GetClaimsAsync(id);
} }
[HttpPost] [HttpPost]
[Route("{id}/claims")] [Route("{id}/claims")]
public virtual async Task AddClaimAsync(Guid id, IdentityUserClaimCreateDto input) public virtual async Task AddClaimAsync(Guid id, IdentityUserClaimCreateDto input)
{ {
await UserAppService.AddClaimAsync(id, input); await UserAppService.AddClaimAsync(id, input);
} }
[HttpPut] [HttpPut]
[Route("{id}/claims")] [Route("{id}/claims")]
public virtual async Task UpdateClaimAsync(Guid id, IdentityUserClaimUpdateDto input) public virtual async Task UpdateClaimAsync(Guid id, IdentityUserClaimUpdateDto input)
{ {
await UserAppService.UpdateClaimAsync(id, input); await UserAppService.UpdateClaimAsync(id, input);
} }
[HttpDelete] [HttpDelete]
[Route("{id}/claims")] [Route("{id}/claims")]
public virtual async Task DeleteClaimAsync(Guid id, IdentityUserClaimDeleteDto input) public virtual async Task DeleteClaimAsync(Guid id, IdentityUserClaimDeleteDto input)
{ {
await UserAppService.DeleteClaimAsync(id, input); await UserAppService.DeleteClaimAsync(id, input);
} }
#endregion #endregion
[HttpPut] //TODO: Post? [HttpPut] //TODO: Post?
[Route("change-password")] [Route("change-password")]
public virtual async Task ChangePasswordAsync(Guid id, ChangePasswordInput input) public virtual async Task ChangePasswordAsync(Guid id, ChangePasswordInput input)
{ {
await UserAppService.ChangePasswordAsync(id, input); await UserAppService.ChangePasswordAsync(id, input);
} }
[HttpPut] [HttpPut]
[Route("change-two-factor")] [Route("change-two-factor")]
public virtual async Task ChangeTwoFactorEnabledAsync(Guid id, ChangeTwoFactorEnabledDto input) public virtual async Task ChangeTwoFactorEnabledAsync(Guid id, ChangeTwoFactorEnabledDto input)
{ {
await UserAppService.ChangeTwoFactorEnabledAsync(id, input); await UserAppService.ChangeTwoFactorEnabledAsync(id, input);
} }
}
} [HttpPut]
[Route("{id}/lock/{seconds}")]
public virtual async Task LockAsync(Guid id, int seconds)
{
await UserAppService.LockAsync(id, seconds);
}
[HttpPut]
[Route("{id}/unlock")]
public virtual async Task UnLockAsync(Guid id)
{
await UserAppService.UnLockAsync(id);
}
}
}

4
aspnet-core/modules/identity/LINGYUN.Abp.PermissionManagement.Domain.Identity/LINGYUN.Abp.PermissionManagement.Domain.Identity.csproj

@ -8,8 +8,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Uow" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Uow" Version="4.4.0" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.Identity" Version="4.3.0" /> <PackageReference Include="Volo.Abp.PermissionManagement.Domain.Identity" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

181
aspnet-core/modules/identity/LINGYUN.Abp.PermissionManagement.Domain.Identity/LINGYUN/Abp/PermissionManagement/Identity/IdentityPermissionManager.cs

@ -1,90 +1,91 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Authorization.Permissions; using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Caching; using Volo.Abp.Caching;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids; using Volo.Abp.Guids;
using Volo.Abp.Identity; using Volo.Abp.Identity;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
using Volo.Abp.PermissionManagement; using Volo.Abp.PermissionManagement;
using Volo.Abp.Uow; using Volo.Abp.SimpleStateChecking;
using Volo.Abp.Uow;
namespace LINGYUN.Abp.PermissionManagement.Identity
{ namespace LINGYUN.Abp.PermissionManagement.Identity
[Dependency(ServiceLifetime.Singleton, ReplaceServices = true)] {
[ExposeServices(typeof(IPermissionManager), typeof(PermissionManager), typeof(DefaultPermissionManager))] [Dependency(ServiceLifetime.Singleton, ReplaceServices = true)]
public class IdentityPermissionManager : DefaultPermissionManager [ExposeServices(typeof(IPermissionManager), typeof(PermissionManager), typeof(DefaultPermissionManager))]
{ public class IdentityPermissionManager : DefaultPermissionManager
protected IUnitOfWorkManager UnitOfWorkManager => LazyGetRequiredService(ref _unitOfWorkManager); {
private IUnitOfWorkManager _unitOfWorkManager; protected IUnitOfWorkManager UnitOfWorkManager => LazyGetRequiredService(ref _unitOfWorkManager);
private IUnitOfWorkManager _unitOfWorkManager;
protected IUnitOfWork CurrentUnitOfWork => UnitOfWorkManager?.Current;
protected IUnitOfWork CurrentUnitOfWork => UnitOfWorkManager?.Current;
protected IUserRoleFinder UserRoleFinder { get; }
public IdentityPermissionManager( protected IUserRoleFinder UserRoleFinder { get; }
IPermissionDefinitionManager permissionDefinitionManager, public IdentityPermissionManager(
IPermissionStateManager permissionStateManager, IPermissionDefinitionManager permissionDefinitionManager,
IPermissionGrantRepository permissionGrantRepository, ISimpleStateCheckerManager<PermissionDefinition> simpleStateCheckerManager,
IPermissionStore permissionStore, IPermissionGrantRepository permissionGrantRepository,
IServiceProvider serviceProvider, IPermissionStore permissionStore,
IGuidGenerator guidGenerator, IServiceProvider serviceProvider,
IOptions<PermissionManagementOptions> options, IGuidGenerator guidGenerator,
ICurrentTenant currentTenant, IOptions<PermissionManagementOptions> options,
IDistributedCache<PermissionGrantCacheItem> cache, ICurrentTenant currentTenant,
IUserRoleFinder userRoleFinder) IDistributedCache<PermissionGrantCacheItem> cache,
: base( IUserRoleFinder userRoleFinder)
permissionDefinitionManager, : base(
permissionStateManager, permissionDefinitionManager,
permissionGrantRepository, simpleStateCheckerManager,
permissionStore, permissionGrantRepository,
serviceProvider, permissionStore,
guidGenerator, serviceProvider,
options, guidGenerator,
currentTenant, options,
cache) currentTenant,
{ cache)
UserRoleFinder = userRoleFinder; {
} UserRoleFinder = userRoleFinder;
}
protected override async Task<bool> IsGrantedAsync(string permissionName, string providerName, string providerKey)
{ protected override async Task<bool> IsGrantedAsync(string permissionName, string providerName, string providerKey)
if (!RolePermissionValueProvider.ProviderName.Equals(providerName)) {
{ if (!RolePermissionValueProvider.ProviderName.Equals(providerName))
// 如果查询的是用户权限,需要查询用户角色权限 {
if (providerName == UserPermissionValueProvider.ProviderName) // 如果查询的是用户权限,需要查询用户角色权限
{ if (providerName == UserPermissionValueProvider.ProviderName)
var userId = Guid.Parse(providerKey); {
var roleNames = await GetUserRolesAsync(userId); var userId = Guid.Parse(providerKey);
foreach (var roleName in roleNames) var roleNames = await GetUserRolesAsync(userId);
{ foreach (var roleName in roleNames)
var permissionGrant = await PermissionStore.IsGrantedAsync(permissionName, RolePermissionValueProvider.ProviderName, roleName); {
if (permissionGrant) var permissionGrant = await PermissionStore.IsGrantedAsync(permissionName, RolePermissionValueProvider.ProviderName, roleName);
{ if (permissionGrant)
return true; {
} return true;
} }
} }
} }
return await base.IsGrantedAsync(permissionName, providerName, providerKey); }
} return await base.IsGrantedAsync(permissionName, providerName, providerKey);
}
protected virtual async Task<string[]> GetUserRolesAsync(Guid userId)
{ protected virtual async Task<string[]> GetUserRolesAsync(Guid userId)
// 通过工作单元来缓存用户角色,防止多次查询 {
if (CurrentUnitOfWork != null) // 通过工作单元来缓存用户角色,防止多次查询
{ if (CurrentUnitOfWork != null)
var userRoleItemKey = $"FindRolesByUser:{userId}"; {
var userRoleItemKey = $"FindRolesByUser:{userId}";
return await CurrentUnitOfWork.GetOrAddItem(userRoleItemKey, (key) =>
{ return await CurrentUnitOfWork.GetOrAddItem(userRoleItemKey, (key) =>
// 取消同步调用 {
//var roles = AsyncHelper.RunSync(async ()=> await UserRoleFinder.GetRolesAsync(userId)); // 取消同步调用
return UserRoleFinder.GetRolesAsync(userId); //var roles = AsyncHelper.RunSync(async ()=> await UserRoleFinder.GetRolesAsync(userId));
}); return UserRoleFinder.GetRolesAsync(userId);
} });
return await UserRoleFinder.GetRolesAsync(userId); }
} return await UserRoleFinder.GetRolesAsync(userId);
} }
} }
}

6
aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application.Contracts/LINGYUN.Abp.IdentityServer.Application.Contracts.csproj

@ -18,9 +18,9 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Ddd.Application.Contracts" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Ddd.Application.Contracts" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Authorization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Authorization" Version="4.4.0" />
<PackageReference Include="Volo.Abp.IdentityServer.Domain.Shared" Version="4.3.0" /> <PackageReference Include="Volo.Abp.IdentityServer.Domain.Shared" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

38
aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Application/LINGYUN.Abp.IdentityServer.Application.csproj

@ -1,19 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>net5.0</TargetFramework> <TargetFramework>net5.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Ddd.Application" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Ddd.Application" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.IdentityServer.Application.Contracts\LINGYUN.Abp.IdentityServer.Application.Contracts.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.IdentityServer.Application.Contracts\LINGYUN.Abp.IdentityServer.Application.Contracts.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.IdentityServer.Domain\LINGYUN.Abp.IdentityServer.Domain.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.IdentityServer.Domain\LINGYUN.Abp.IdentityServer.Domain.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.Domain/LINGYUN.Abp.IdentityServer.Domain.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.IdentityServer.Domain" Version="4.3.0" /> <PackageReference Include="Volo.Abp.IdentityServer.Domain" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

2
aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.EntityFrameworkCore/LINGYUN.Abp.IdentityServer.EntityFrameworkCore.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.IdentityServer.EntityFrameworkCore" Version="4.3.0" /> <PackageReference Include="Volo.Abp.IdentityServer.EntityFrameworkCore" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.HttpApi/LINGYUN.Abp.IdentityServer.HttpApi.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.SmsValidator/LINGYUN.Abp.IdentityServer.SmsValidator.csproj

@ -18,7 +18,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.IdentityServer.Domain" Version="4.3.0" /> <PackageReference Include="Volo.Abp.IdentityServer.Domain" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

2
aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.WeChat/LINGYUN.Abp.IdentityServer.WeChat.csproj

@ -13,7 +13,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.IdentityServer.Domain" Version="4.3.0" /> <PackageReference Include="Volo.Abp.IdentityServer.Domain" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

6
aspnet-core/modules/identityServer/LINGYUN.Abp.IdentityServer.WeChatValidator/LINGYUN.Abp.IdentityServer.WeChatValidator.csproj

@ -18,11 +18,11 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.IdentityServer.Domain" Version="4.3.0" /> <PackageReference Include="Volo.Abp.IdentityServer.Domain" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Microsoft\DependencyInjection\" /> <Folder Include="Microsoft\DependencyInjection\" />
</ItemGroup> </ItemGroup>
</Project> </Project>

30
aspnet-core/modules/localization/LINGYUN.Abp.Localization.Json/LINGYUN.Abp.Localization.Json.csproj

@ -1,15 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Localization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Localization" Version="4.4.0" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Physical" Version="5.0.*" /> <PackageReference Include="Microsoft.Extensions.FileProviders.Physical" Version="5.0.*" />
</ItemGroup> </ItemGroup>
</Project> </Project>

30
aspnet-core/modules/localization/LINGYUN.Abp.Localization.Xml/LINGYUN.Abp.Localization.Xml.csproj

@ -1,15 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Localization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Localization" Version="4.4.0" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Physical" Version="5.0.*" /> <PackageReference Include="Microsoft.Extensions.FileProviders.Physical" Version="5.0.*" />
</ItemGroup> </ItemGroup>
</Project> </Project>

38
aspnet-core/modules/lt/LINGYUN.Abp.LocalizationManagement.Application.Contracts/LINGYUN.Abp.LocalizationManagement.Application.Contracts.csproj

@ -1,19 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Authorization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Authorization" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Ddd.Application.Contracts" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Ddd.Application.Contracts" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.LocalizationManagement.Domain.Shared\LINGYUN.Abp.LocalizationManagement.Domain.Shared.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.LocalizationManagement.Domain.Shared\LINGYUN.Abp.LocalizationManagement.Domain.Shared.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

38
aspnet-core/modules/lt/LINGYUN.Abp.LocalizationManagement.Application/LINGYUN.Abp.LocalizationManagement.Application.csproj

@ -1,19 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Ddd.Application" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Ddd.Application" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.LocalizationManagement.Domain\LINGYUN.Abp.LocalizationManagement.Domain.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.LocalizationManagement.Domain\LINGYUN.Abp.LocalizationManagement.Domain.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.LocalizationManagement.Application.Contracts\LINGYUN.Abp.LocalizationManagement.Application.Contracts.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.LocalizationManagement.Application.Contracts\LINGYUN.Abp.LocalizationManagement.Application.Contracts.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

50
aspnet-core/modules/lt/LINGYUN.Abp.LocalizationManagement.Domain.Shared/LINGYUN.Abp.LocalizationManagement.Domain.Shared.csproj

@ -1,25 +1,25 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<None Remove="LINGYUN\Abp\LocalizationManagement\Localization\Resources\en.json" /> <None Remove="LINGYUN\Abp\LocalizationManagement\Localization\Resources\en.json" />
<None Remove="LINGYUN\Abp\LocalizationManagement\Localization\Resources\zh-Hans.json" /> <None Remove="LINGYUN\Abp\LocalizationManagement\Localization\Resources\zh-Hans.json" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="LINGYUN\Abp\LocalizationManagement\Localization\Resources\en.json" /> <EmbeddedResource Include="LINGYUN\Abp\LocalizationManagement\Localization\Resources\en.json" />
<EmbeddedResource Include="LINGYUN\Abp\LocalizationManagement\Localization\Resources\zh-Hans.json" /> <EmbeddedResource Include="LINGYUN\Abp\LocalizationManagement\Localization\Resources\zh-Hans.json" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.Validation" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Validation" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Localization" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Localization" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

40
aspnet-core/modules/lt/LINGYUN.Abp.LocalizationManagement.Domain/LINGYUN.Abp.LocalizationManagement.Domain.csproj

@ -1,20 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AutoMapper" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AutoMapper" Version="4.4.0" />
<PackageReference Include="Volo.Abp.Ddd.Domain" Version="4.3.0" /> <PackageReference Include="Volo.Abp.Ddd.Domain" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\common\LINGYUN.Abp.Localization.Dynamic\LINGYUN.Abp.Localization.Dynamic.csproj" /> <ProjectReference Include="..\..\common\LINGYUN.Abp.Localization.Dynamic\LINGYUN.Abp.Localization.Dynamic.csproj" />
<ProjectReference Include="..\LINGYUN.Abp.LocalizationManagement.Domain.Shared\LINGYUN.Abp.LocalizationManagement.Domain.Shared.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.LocalizationManagement.Domain.Shared\LINGYUN.Abp.LocalizationManagement.Domain.Shared.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

36
aspnet-core/modules/lt/LINGYUN.Abp.LocalizationManagement.EntityFrameworkCore/LINGYUN.Abp.LocalizationManagement.EntityFrameworkCore.csproj

@ -1,18 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework> <TargetFramework>netstandard2.1</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.EntityFrameworkCore" Version="4.3.0" /> <PackageReference Include="Volo.Abp.EntityFrameworkCore" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.LocalizationManagement.Domain\LINGYUN.Abp.LocalizationManagement.Domain.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.LocalizationManagement.Domain\LINGYUN.Abp.LocalizationManagement.Domain.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

36
aspnet-core/modules/lt/LINGYUN.Abp.LocalizationManagement.HttpApi/LINGYUN.Abp.LocalizationManagement.HttpApi.csproj

@ -1,18 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\common.props" /> <Import Project="..\..\..\common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>net5.0</TargetFramework> <TargetFramework>net5.0</TargetFramework>
<RootNamespace /> <RootNamespace />
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.3.0" /> <PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.4.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\LINGYUN.Abp.LocalizationManagement.Application.Contracts\LINGYUN.Abp.LocalizationManagement.Application.Contracts.csproj" /> <ProjectReference Include="..\LINGYUN.Abp.LocalizationManagement.Application.Contracts\LINGYUN.Abp.LocalizationManagement.Application.Contracts.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save