From c9f24118ac9b2df8cc60c45ac7d121ed0e26b3ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=BC=AF=E6=89=BF?= Date: Thu, 17 Jun 2021 18:07:36 +0800 Subject: [PATCH 1/2] fix issue #9357 --- .../Client/DynamicProxying/ApiDescriptionFinder.cs | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs index 7e90bd4fe7..8e9e396b0d 100644 --- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs +++ b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs @@ -10,6 +10,7 @@ using Microsoft.Extensions.Options; using Volo.Abp.DependencyInjection; using Volo.Abp.Http.Modeling; using Volo.Abp.MultiTenancy; +using Volo.Abp.Reflection; using Volo.Abp.Threading; using Volo.Abp.Tracing; @@ -142,17 +143,9 @@ namespace Volo.Abp.Http.Client.DynamicProxying protected virtual bool TypeMatches(MethodParameterApiDescriptionModel actionParameter, ParameterInfo methodParameter) { - return NormalizeTypeName(actionParameter.TypeAsString) == - NormalizeTypeName(methodParameter.ParameterType.GetFullNameWithAssemblyName()); + // make it lower-coupled, see https://github.com/abpframework/abp/issues/9357 + return actionParameter.Type == TypeHelper.GetFullNameHandlingNullableAndGenerics(methodParameter.ParameterType); } - protected virtual string NormalizeTypeName(string typeName) - { - const string placeholder = "%COREFX%"; - const string netCoreLib = "System.Private.CoreLib"; - const string netFxLib = "mscorlib"; - - return typeName.Replace(netCoreLib, placeholder).Replace(netFxLib, placeholder); - } } } From aa3cd37859995c3318d3d3fbe506f7ece89aa749 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 18 Jun 2021 17:11:59 +0800 Subject: [PATCH 2/2] Update ApiDescriptionFinder.cs --- .../Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs index 8e9e396b0d..fa963aef5e 100644 --- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs +++ b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/DynamicProxying/ApiDescriptionFinder.cs @@ -143,8 +143,7 @@ namespace Volo.Abp.Http.Client.DynamicProxying protected virtual bool TypeMatches(MethodParameterApiDescriptionModel actionParameter, ParameterInfo methodParameter) { - // make it lower-coupled, see https://github.com/abpframework/abp/issues/9357 - return actionParameter.Type == TypeHelper.GetFullNameHandlingNullableAndGenerics(methodParameter.ParameterType); + return actionParameter.Type.ToUpper() == TypeHelper.GetFullNameHandlingNullableAndGenerics(methodParameter.ParameterType).ToUpper(); } }