I would like to know how to capture the exceptions I receive from the backend and display them on the frontend. I have a modal where in the OnGet() method I receive the data, in the case that there is a problem with the data from the backend I will have received a UserFriendlyException() exception.
For example:
This is my OnGet() method inside the modal
public async Task OnGet()
{
var data = await _feedOrderLinesAppService.GetListFeedOrderLinesFromDeliveryAsync(Id);
if (data != null)
{
FeedOrderLineBasicInfoDtoViewModel = ObjectMapper.Map<List<FeedOrderLineBasicInfoDto>, List<FeedOrderLineBasicInfoDtoViewModel>>(data);
}
}
Let's review the method GetListFeedOrderLinesFromDeliveryAsync(Id)
public async Task<List<FeedOrderLineBasicInfoDto>> GetListFeedOrderLinesFromDeliveryAsync(string feedDeliveryId)
{
var feedOrderLines = await _feedOrderManager.GetListFeedOrderLinesFromDeliveryAsync(feedDeliveryId);
return ObjectMapper.Map<List<FeedOrderLineWithNavigationProperties>, List<FeedOrderLineBasicInfoDto>>(feedOrderLines);
}
Let's review the method GetListFeedOrderLinesFromDeliveryAsync(feedDeliveryId), This method must first obtain the header ID, and then obtain the lines, but in the case that the header does not exist, it throws an exception.
public async Task<List<FeedOrderLineWithNavigationProperties>> GetListFeedOrderLinesFromDeliveryAsync(string feedOrderHeaderErpId)
{
var feedOrderHeader = await _feedOrderHeaderRepository.FirstOrDefaultAsync(x => x.ErpId == feedOrderHeaderErpId);
if (feedOrderHeader == null)
{
throw new UserFriendlyException("Feed order header not found");
}
return await _feedOrderLineRepository.GetListWithNavigationPropertiesAsync(feedOrderHeaderId: feedOrderHeader.Id);
}
In the github Actions logs, the certificate is generated correctly, the problem is a routing issue that the ABP code cannot locate the generated certificate.
This is the GitHubActions code:
name: Deploy all webapps in pre environment.
on:
push:
branches:
- development
workflow_dispatch:
env:
ASPNETCORE_ENVIRONMENT: Staging
AbpLicenseCode: ${{ secrets.ABP_COMMERCIAL_LICENSE }}
jobs:
Deploy_Apps:
runs-on: ubuntu-latest
env:
DOTNET_ROOT: /home/runner/.dotnet
steps:
- uses: actions/checkout@v2
# notify on each build event like starting and finishing a build
- uses: toko-bifrost/ms-teams-deploy-card@master
if: always()
with:
github-token: ${{ github.token }}
webhook-uri: ${{ secrets.MICROSOFT_TEAMS_WEBHOOK_URI }}
- name: Setup .NET Core SDK
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6.0.x'
- name: Install ABP CLI
run: dotnet tool install -g Volo.Abp.Cli --version 6.0.1
- name: Install ABP libs
run: abp install-libs
- name: Az CLI login
id: az_login
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- name: Prepare Migrations
run: cd src/Cincaporc.WebApp.DbMigrator && dotnet publish -c Release && cd
- name: Run Migrations
run: cd src/Cincaporc.WebApp.DbMigrator && dotnet bin/Release/net6.0/publish/Cincaporc.WebApp.DbMigrator.dll --Environment Staging --configuration Release && cd
- name: Publish CincaPorc WebApp.Auth.Server.
run: dotnet publish --configuration Release --output WebApp.Auth.Server src/Cincaporc.WebApp.AuthServer/Cincaporc.WebApp.AuthServer.csproj
- name: Generate openiddict.pfx
run: dotnet dev-certs https -v -ep ${{env.DOTNET_ROOT}}/Cincaporc.WebApp.AuthServer/openiddict.pfx -p 00000000-0000-0000-0000-000000000000
- name: Deploy APP WebApp.Auth.Server
uses: azure/webapps-deploy@v2.2.3
with:
app-name: extranetIdentity-dev
package: WebApp.Auth.Server
- name: Publish CincaPorc WebApp.HttpApi.Host.
run: dotnet publish --configuration Release --output WebApp.HttpApi.Host src/Cincaporc.WebApp.HttpApi.Host/Cincaporc.WebApp.HttpApi.Host.csproj
- name: Deploy APP WebApp.HttpApi.Host
uses: azure/webapps-deploy@v2.2.3
with:
app-name: extranetappapi-dev
package: WebApp.HttpApi.Host
- name: Publish CincaPorc WebApp.Web.
run: dotnet publish --configuration Release --output WebApp.Web src/Cincaporc.WebApp.Web/Cincaporc.WebApp.Web.csproj
- name: Deploy APP WebApp
uses: azure/webapps-deploy@v2.2.3
with:
app-name: extranetapp-dev
package: WebApp.Web
- name: Publish CincaPorc WebApp.Web.Public.
run: dotnet publish --configuration Release --output WebApp.Web.Public src/Cincaporc.WebApp.Web.Public/Cincaporc.WebApp.Web.Public.csproj
- name: Deploy APP WebApp.Web.Public
uses: azure/webapps-deploy@v2.2.3
with:
app-name: IntegradosApp-dev
package: WebApp.Web.Public
- name: Az Logout.
if: ${{ always() && steps.az_login.conclusion == 'success' }}
run: |
az logout
az cache purge
az account clear
We have followed the example of the official documentation: https://abp.io/docs/latest/deployment/configuring-openiddict
This is the code that we have added to the ABP project:
using System;
using System.IO;
using System.Security.Cryptography.X509Certificates;
namespace Microsoft.Extensions.DependencyInjection;
public static class OpenIddictServerBuilderExtensions
{
public static OpenIddictServerBuilder AddProductionEncryptionAndSigningCertificate(this OpenIddictServerBuilder builder, string fileName, string passPhrase)
{
if (!File.Exists(fileName))
{
throw new FileNotFoundException($"Signing Certificate couldn't found: {fileName}");
}
var certificate = new X509Certificate2(fileName, passPhrase);
builder.AddSigningCertificate(certificate);
builder.AddEncryptionCertificate(certificate);
return builder;
}
}
Hi, Anyone can help us with test modules? Right now when we run every test projecte, we get this error:
Mensaje:
Volo.Abp.AbpInitializationException : An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor phase of the module Cincaporc.WebApp.WebAppTestBaseModule, Cincaporc.WebApp.TestBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: An exception was thrown while activating λ:Volo.Abp.Identity.EntityFrameworkCore.IIdentityDbContext -> λ:Volo.Abp.Identity.EntityFrameworkCore.IIdentityProDbContext -> Cincaporc.WebApp.EntityFrameworkCore.WebAppDbContext -> λ:Microsoft.EntityFrameworkCore.DbContextOptions`1[[Cincaporc.WebApp.EntityFrameworkCore.WebAppDbContext, Cincaporc.WebApp.EntityFrameworkCore, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].. See the inner exception for details.
---- Autofac.Core.DependencyResolutionException : An exception was thrown while activating λ:Volo.Abp.Identity.EntityFrameworkCore.IIdentityDbContext -> λ:Volo.Abp.Identity.EntityFrameworkCore.IIdentityProDbContext -> Cincaporc.WebApp.EntityFrameworkCore.WebAppDbContext -> λ:Microsoft.EntityFrameworkCore.DbContextOptions`1[[Cincaporc.WebApp.EntityFrameworkCore.WebAppDbContext, Cincaporc.WebApp.EntityFrameworkCore, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].
-------- System.ArgumentNullException : Value cannot be null. (Parameter 'connectionString')
Seguimiento de la pila:
ModuleManager.InitializeModules(ApplicationInitializationContext context)
AbpApplicationBase.InitializeModules()
AbpApplicationWithExternalServiceProvider.Initialize(IServiceProvider serviceProvider)
AbpIntegratedTest`1.ctor()
WebAppTestBase`1.ctor()
WebAppEntityFrameworkCoreTestBase.ctor()
AdsRepositoryTests.ctor() línea 15
RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean wrapExceptions)
----- Inner Stack Trace -----
ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
ResolvePipeline.Invoke(ResolveRequestContext ctxt)
RegistrationPipelineInvokeMiddleware.Execute(ResolveRequestContext context, Action`1 next)
<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
SharingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
CircularDependencyDetectorMiddleware.Execute(ResolveRequestContext context, Action`1 next)
<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
ResolvePipeline.Invoke(ResolveRequestContext ctxt)
ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, ResolveRequest request)
ResolveOperation.ExecuteOperation(ResolveRequest request)
ResolveOperation.Execute(ResolveRequest request)
LifetimeScope.ResolveComponent(ResolveRequest request)
ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance)
ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters)
ResolutionExtensions.Resolve(IComponentContext context, Type serviceType, IEnumerable`1 parameters)
ResolutionExtensions.Resolve(IComponentContext context, Type serviceType)
AutofacServiceProvider.GetRequiredService(Type serviceType)
ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
UnitOfWorkDbContextProvider`1.CreateDbContextWithTransactionAsync(IUnitOfWork unitOfWork)
UnitOfWorkDbContextProvider`1.CreateDbContextAsync(IUnitOfWork unitOfWork)
UnitOfWorkDbContextProvider`1.CreateDbContextAsync(IUnitOfWork unitOfWork, String connectionStringName, String connectionString)
UnitOfWorkDbContextProvider`1.GetDbContextAsync()
EfCoreRepository`2.GetDbSetAsync()
EfCoreIdentityUserRepository.FindByNormalizedUserNameAsync(String normalizedUserName, Boolean includeDetails, CancellationToken cancellationToken)
AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
IdentityDataSeeder.SeedAsync(String adminEmail, String adminPassword, Nullable`1 tenantId)
AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
DataSeeder.SeedAsync(DataSeedContext context)
AsyncInterceptorBase.ProceedAsynchronous(IInvocation invocation, IInvocationProceedInfo proceedInfo)
CastleAbpMethodInvocationAdapter.ProceedAsync()
UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
CastleAsyncAbpInterceptorAdapter`1.InterceptAsync(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
<<SeedTestData>b__0>d.MoveNext() línea 48
--- End of stack trace from previous location ---
TaskExtensions.WaitAndUnwrapException(Task task)
<>c__DisplayClass15_0.<Run>b__0(Task t)
ContinuationTaskFromTask.InnerInvoke()
<.cctor>b__272_0(Object obj)
ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
TaskExtensions.WaitAndUnwrapException(Task task)
AsyncContext.Run(Func`1 action)
AsyncHelper.RunSync(Func`1 action)
WebAppTestBaseModule.SeedTestData(ApplicationInitializationContext context) línea 44
WebAppTestBaseModule.OnApplicationInitialization(ApplicationInitializationContext context) línea 39
OnApplicationInitializationModuleLifecycleContributor.Initialize(ApplicationInitializationContext context, IAbpModule module)
ModuleManager.InitializeModules(ApplicationInitializationContext context)
----- Inner Stack Trace -----
Check.NotEmpty(String value, String parameterName)
NpgsqlDbContextOptionsBuilderExtensions.UseNpgsql(DbContextOptionsBuilder optionsBuilder, String connectionString, Action`1 npgsqlOptionsAction)
NpgsqlDbContextOptionsBuilderExtensions.UseNpgsql[TContext](DbContextOptionsBuilder`1 optionsBuilder, String connectionString, Action`1 npgsqlOptionsAction)
<>c__DisplayClass1_0.<ConfigureServices>b__3(AbpDbContextConfigurationContext`1 dbContextOptions) línea 158
DbContextOptionsFactory.Configure[TDbContext](AbpDbContextOptions options, AbpDbContextConfigurationContext`1 context)
DbContextOptionsFactory.Create[TDbContext](IServiceProvider serviceProvider)
<>c__DisplayClass3_0.<Register>b__0(IComponentContext context, IEnumerable`1 parameters)
DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)
DelegateActivator.<ConfigurePipeline>b__2_0(ResolveRequestContext ctxt, Action`1 next)
DelegateMiddleware.Execute(ResolveRequestContext context, Action`1 next)
<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
DisposalTrackingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
*** ABP Framework version: v6.0.1
Hi, I am trying to pass the 'Sorting' field as a parameter from the frontend JS to the backend, but it is not being passed, whereas when I try to pass another parameter like 'FilterText', it does get passed. I am using this function: var getFilter = function () { return { filterText: "Hello", sorting: "sort" }; };
'Sorting' being an inherited field, may not be treated the same way to pass it as a parameter. Could you help me?
Hi everybody, I have a class FeedOrderHeader that doesn't have any String property, i have to create a 1..N relationship with FeedOrderLines. As ABP Suite only allows relationships with String properties, I had created a property in the FeedOrderHeader Domain called NameToShow to be able to relate them, the problem is that every time I generate with ABP Suite it deletes all the Domain code I created. Is there any other way to do it?
thank you very much and happy coding :)
appSetting Migration
{
"ConnectionStrings": {
"Default": "Server=localhost\\SQLEXPRESS;Database=WebApp;Trusted_Connection=True"
},
"OpenIddict": {
"Applications": {
"WebApp_Web": {
"ClientId": "WebApp_Web",
"ClientSecret": "*****",
"RootUrl": "https://localhost:44340"
},
"WebApp_Web_Public": {
"ClientId": "WebApp_Web_Public",
"ClientSecret": "******",
"RootUrl": "https://localhost:44311"
},
"WebApp_Web_Public_Tiered": {
"ClientId": "WebApp_Web_Public_Tiered",
"ClientSecret": "*****",
"RootUrl": "https://localhost:44311"
},
"WebApp_Swagger": {
"ClientId": "WebApp_Swagger",
"RootUrl": "https://localhost:44368",
"ClientSecret": "*****"
}
}
}
}
This is my exception message
Volo.Abp.Domain.Repositories.EntityFrameworkCore.EfCoreRepository<TDbContext, TEntity, TKey>.GetAsync(TKey id, bool includeDetails, CancellationToken cancellationToken)
Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous<TResult>(IInvocation invocation, IInvocationProceedInfo proceedInfo)
Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue<TResult>.ProceedAsync()
Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter<TInterceptor>.InterceptAsync<TResult>(IInvocation invocation, IInvocationProceedInfo proceedInfo, Func<IInvocation, IInvocationProceedInfo, Task<TResult>> proceed)
Volo.Abp.OpenIddict.Authorizations.AbpOpenIddictAuthorizationStore.SetApplicationIdAsync(OpenIddictAuthorizationModel authorization, string identifier, CancellationToken cancellationToken)
OpenIddict.Core.OpenIddictAuthorizationManager<TAuthorization>.PopulateAsync(TAuthorization authorization, OpenIddictAuthorizationDescriptor descriptor, CancellationToken cancellationToken)
OpenIddict.Core.OpenIddictAuthorizationManager<TAuthorization>.CreateAsync(OpenIddictAuthorizationDescriptor descriptor, CancellationToken cancellationToken)
System.Threading.Tasks.ValueTask<TResult>.get_Result()
System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()
OpenIddict.Core.OpenIddictAuthorizationManager<TAuthorization>.OpenIddict.Abstractions.IOpenIddictAuthorizationManager.CreateAsync(ClaimsPrincipal principal, string subject, string client, string type, ImmutableArray<string> scopes, CancellationToken cancellationToken)
System.Threading.Tasks.ValueTask<TResult>.get_Result()
System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<TResult>+ConfiguredValueTaskAwaiter.GetResult()
Volo.Abp.OpenIddict.Controllers.AuthorizeController.HandleAsync()
Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)
System.Threading.Tasks.ValueTask<TResult>.get_Result()
System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask<IActionResult> actionResultValueTask)
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ExceptionContextSealed context)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
Volo.Abp.AspNetCore.Serilog.AbpSerilogMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext()
Volo.Abp.AspNetCore.Auditing.AbpAuditingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
Volo.Abp.AspNetCore.Auditing.AbpAuditingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext()
Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
Volo.Abp.AspNetCore.Uow.AbpUnitOfWorkMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext()
Volo.Abp.AspNetCore.ExceptionHandling.AbpExceptionHandlingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
Volo.Abp.AspNetCore.ExceptionHandling.AbpExceptionHandlingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext()
Microsoft.AspNetCore.Builder.ApplicationBuilderAbpOpenIddictMiddlewareExtension+<>c__DisplayClass0_0+<<UseAbpOpenIddictValidation>b__0>d.MoveNext()
Cincaporc.WebApp.Middleware.Logging.SessionLoggingMiddleware.InvokeAsync(HttpContext context, RequestDelegate next) in SessionLoggingMiddleware.cs
await next(context);
Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext()
Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
Volo.Abp.AspNetCore.Security.AbpSecurityHeadersMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext()
Volo.Abp.AspNetCore.Tracing.AbpCorrelationIdMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext()
Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.RequestLocalization.AbpRequestLocalizationMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
Microsoft.AspNetCore.Builder.UseMiddlewareExtensions+<>c__DisplayClass6_1+<<UseMiddlewareInterface>b__1>d.MoveNext()
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)