1.IsEnabledAsync(SimpleStateCheckerContext
1 context)
at Volo.Abp.SimpleStateChecking.SimpleStateCheckerManager1.InternalIsEnabledAsync(TState state, Boolean useBatchChecker) at Volo.Abp.SimpleStateChecking.SimpleStateCheckerManager
1.IsEnabledAsync(TState state)
at Volo.Abp.Authorization.Permissions.PermissionChecker.IsGrantedAsync(ClaimsPrincipal claimsPrincipal, String[] names)
at Volo.Abp.Authorization.Permissions.PermissionChecker.IsGrantedAsync(String[] names)
at Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationAppService.GetAuthConfigAsync()
at Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationAppService.GetAsync(ApplicationConfigurationRequestOptions options)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter
1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue
1.ProceedAsync()
at Volo.Abp.Auditing.AuditingInterceptor.ProceedByLoggingAsync(IAbpMethodInvocation invocation, AbpAuditingOptions options, IAuditingHelper auditingHelper, IAuditLogScope auditLogScope)
at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func
3 proceed)
at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter
1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue
1.ProceedAsync()
at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func
3 proceed)
at Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync(ApplicationConfigurationRequestOptions options)
at lambda_method3602(Closure, Object)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Two appliaction programs, using the same database abp module table, one without file management and one using file management
blazor ->gateway->administrator
http request /api/abp/application-configuration error
The page cannot be loaded
2024-05-20 16:41:35.861 +00:00 [INF] Request starting HTTP/1.1 GET https://192.168.23.81:44367/api/abp/application-configuration?IncludeLocalizationResources=False&api-version=1.0 - 0
2024-05-20 16:41:35.863 +00:00 [ERR] Exception occurred while processing message.
System.InvalidOperationException: IDX20803: Unable to obtain configuration from: '[PII of type 'System.String' is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'.
at Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync(CancellationToken cancel)
at Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler.HandleAuthenticateAsync()
at Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler.HandleAuthenticateAsync()
at Microsoft.AspNetCore.Authentication.AuthenticationHandler`1.AuthenticateAsync()
2024-05-20 16:41:35.864 +00:00 [ERR] Connection id "0HN3OTEB940MK", Request id "0HN3OTEB940MK:0000000C": An unhandled exception was thrown by the application.
System.InvalidOperationException: IDX20803: Unable to obtain configuration from: '[PII of type 'System.String' is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'.
at Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync(CancellationToken cancel)
at Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler.HandleAuthenticateAsync()
at Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler.HandleAuthenticateAsync()
at Microsoft.AspNetCore.Authentication.AuthenticationHandler`1.AuthenticateAsync()
at Microsoft.AspNetCore.Authentication.AuthenticationService.AuthenticateAsync(HttpContext context, String scheme)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Prometheus.HttpMetrics.HttpRequestDurationMiddleware.Invoke(HttpContext context)
at Prometheus.HttpMetrics.HttpRequestCountMiddleware.Invoke(HttpContext context)
at Prometheus.HttpMetrics.HttpInProgressMiddleware.Invoke(HttpContext context)
at Volo.Abp.AspNetCore.Security.AbpSecurityHeadersMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.RequestLocalization.AbpRequestLocalizationMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
at Volo.Abp.AspNetCore.Tracing.AbpCorrelationIdMiddleware.InvokeAsync(HttpContext context, RequestDelegate next)
at Microsoft.AspNetCore.Builder.UseMiddlewareExtensions.<>c__DisplayClass6_1.<<UseMiddlewareInterface>b__1>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
2024-05-20 16:41:35.864 +00:00 [INF] Request finished HTTP/1.1 GET https://192.168.23.81:44367/api/abp/application-configuration?IncludeLocalizationResources=False&api-version=1.0 - 0 - 500 0 - 2.4266ms
running error
using System;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Uow;
namespace OneAdmin.BaseManagement
{
public class StudentAppService : ApplicationService, IStudentAppService
{
private readonly IRepository<Student, Guid> _StudentRepository;
private readonly IRepository<Classes, Guid> _ClassesRepository;
private readonly IRepository<ClassStudent> _ClassStudentRepository;
public StudentAppService(
IRepository<Student, Guid> studentRepository,
IRepository<Classes, Guid> classesRepository,
IRepository<ClassStudent> classStudentRepository
)
{
_StudentRepository = studentRepository;
_ClassesRepository = classesRepository;
_ClassStudentRepository = classStudentRepository;
}
public async Task<bool> BatchCreateAsync()
{
await Task.Factory.StartNew(async () =>
{
try
{
using (var uow = UnitOfWorkManager.Begin(requiresNew: true, isTransactional: false))
{
for (int indexClass = 1; indexClass <= 10; indexClass++)
{
var data = await _ClassesRepository.InsertAsync(new Classes(GuidGenerator.Create())
{
Name = indexClass.ToString(),
No = indexClass
}, true);
await CreateStudentAsync(data);
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error={ex.Message}");
}
});
return true;
}
private async Task CreateStudentAsync(Classes classes)
{
var stuQuery = await _StudentRepository.GetQueryableAsync();
var count = stuQuery.LongCount() + 1;
for (int index = 1; index <= count; index++)
{
var student = await _StudentRepository.InsertAsync(new Student(GuidGenerator.Create())
{
Name = index.ToString(),
No = index
}, true);
await Task.Delay(TimeSpan.FromSeconds(1));
if (classes != null && student != null)
{
await CreateClsStuAsync(classes, student);
}
}
}
private async Task CreateClsStuAsync(Classes classes, Student student)
{
await _ClassStudentRepository.InsertAsync(new ClassStudent(classes.Id, student.Id), true);
await Task.Delay(TimeSpan.FromSeconds(1));
}
}
}
single entity insert not error,muti entity running error
alll code register single ,CommonService.BatchCreateAsync(),also running not error
using System;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
namespace OneAdmin.BaseManagement
{
public class CommonService
{
private readonly IStudentRepository _StudentRepository;
private readonly IClassesRepository _ClassesRepository;
private readonly IClassStudentRepository _ClassStudentRepository;
//private readonly IUnitOfWorkManager UnitOfWorkManager;
public CommonService(
IStudentRepository studentRepository,
IClassesRepository classesRepository,
IClassStudentRepository classStudentRepository
//IUnitOfWorkManager unitOfWorkManager
)
{
_StudentRepository = studentRepository;
_ClassesRepository = classesRepository;
_ClassStudentRepository = classStudentRepository;
//UnitOfWorkManager = unitOfWorkManager;
}
public async Task<bool> BatchCreateAsync()
{
try
{
for (int indexClass = 1; indexClass <= 10; indexClass++)
{
var data = await _ClassesRepository.InsertAsync(new Classes(Guid.NewGuid())
{
Name = indexClass.ToString(),
No = indexClass
}, true);
await Task.Delay(TimeSpan.FromSeconds(1));
//var clsQuery = await _ClassesRepository.GetQueryableAsync();
//await Console.Out.WriteLineAsync($"new:{clsQuery.LongCount()}");
var stuQuery = await _StudentRepository.GetQueryableAsync();
var count = stuQuery.LongCount();
for (int index = 1; index <= indexClass; index++)
{
var student = await _StudentRepository.InsertAsync(new Student(Guid.NewGuid())
{
Name = index.ToString(),
No = index
}, true);
await Task.Delay(TimeSpan.FromSeconds(1));
if (data != null && student != null)
{
await _ClassStudentRepository.InsertAsync(new ClassStudent(data.Id, student.Id), true);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error={ex.Message}");
}
return true;
}
private async Task CreateStudentAsync(Classes classes)
{
var stuQuery = await _StudentRepository.GetQueryableAsync();
var count = stuQuery.LongCount() + 1;
for (int index = 1; index <= count; index++)
{
var student = await _StudentRepository.InsertAsync(new Student(Guid.NewGuid())
{
Name = index.ToString(),
No = index
}, true);
await Task.Delay(TimeSpan.FromSeconds(1));
if (classes != null && student != null)
{
await CreateClsStuAsync(classes, student);
}
}
}
private async Task CreateClsStuAsync(Classes classes, Student student)
{
await _ClassStudentRepository.InsertAsync(new ClassStudent(classes.Id, student.Id), true);
await Task.Delay(TimeSpan.FromSeconds(1));
}
}
}
ABP Framework version: v7.2.2
UI Type: Blazor WASM
Database System: EF Core ( PostgreSQL.)
Tiered (for MVC) or Auth Server Separated (for Angular): yes
Exception message and full stack trace:
Steps to reproduce the issue:
在 Microsoft.EntityFrameworkCore.DbContext.CheckDisposed()
在 Microsoft.EntityFrameworkCore.DbContext.get_ContextServices()
在 Microsoft.EntityFrameworkCore.DbContext.get_Model()
在 Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.get_EntityType() 在 Microsoft.EntityFrameworkCore.Internal.InternalDbSet
1.CheckState()
在 Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.get_EntityQueryable() 在 Microsoft.EntityFrameworkCore.Internal.InternalDbSet
1.System.Linq.IQueryable.get_Provider()
在 System.Linq.Queryable.FirstOrDefault[TSource](IQueryable1 source, Expression
1 predicate)
在 OneAdmin.BaseManagement.StudentAppService.<<BatchCreateAsync>b__2_0>d.MoveNext() 在 D:\workspace\projects\OneAdmin\src\OneAdmin.Application\BaseManagement\StudentAppService.cs 中: 第 34 行
Error=Cannot access a disposed context instance. A common cause of this error is disposing a context instance that was resolved from dependency injection and then later trying to use the same context instance elsewhere in your application. This may occur if you are calling 'Dispose' on the context instance, or wrapping it in a using statement. If you are using dependency injection, you should let the dependency injection container take care of disposing context instances. Object name: 'OneAdminDbContext'.
public class StudentAppService : ApplicationService, IStudentAppService
{
private readonly IRepository<Student, Guid> _StudentRepository;
public StudentAppService(IRepository<Student, Guid> studentRepository)
{
_StudentRepository = studentRepository;
}
[UnitOfWork(false)]
public async Task<bool> BatchCreateAsync()
{
await Task.Factory.StartNew(async () =>
{
try
{
for (int index = 1; index <= 10; index++)
{
await _StudentRepository.InsertAsync(new Student(GuidGenerator.Create())
{
Name = index.ToString(),
No = index
}, true);
await Task.Delay(TimeSpan.FromSeconds(5));
var query = await _StudentRepository.GetQueryableAsync();
var data = query.FirstOrDefault(t => t.No == index);
Console.WriteLine($"Name={data.Name},No={data.No}");
}
}
catch (Exception ex)
{
Console.WriteLine($"Error={ex.Message}");
}
});
return true;
}
}
ABP Framework version: v7.2.2
OK,I check all permissions and add all permissions for internationalization
inherit PermissionDefinitionProvider,define permission and localized text . i debug code,elapsed time for PermissionAppService.GetAsync . When there was less permission, there was no such problem. Because it is full load permissions and authorization, whether to consider caching, and loading progress.
thanks. AbpPermissions table has 1200 rows,There could be more AbpPermissionGroups table has 112 rows,There could be more