I will check it out.
Don't do long iterations. Pull out permissions etc. in one query. Looking at PermissionDataSeeder.cs this seems like a quick change.
I will try impove it, see https://github.com/abpframework/abp/pull/9978
Recreate the dbContext object inside of the loop for each iteration ( each tenant )
Database context instance is expensive, we should reuse
Turn off change tracking for the dbContext instance or specific queries.
Repository is abstract, you can do it in your project. see : https://github.com/abpframework/abp/issues/9652
See https://support.abp.io/QA/Questions/896/SuggestionFeature-request--GDPR---data-retention-schedules
We have an internal issue about GDPR, but there is no development plan.
Hi,
See the document: https://docs.microsoft.com/zh-cn/dotnet/standard/microservices-architecture/
Hi,
It should be filtering and pagination in the database, does it not work for you?
Could you share the code? thanks.
Hi,
Can you create a minimum item to reproduce it?
Hi,
You can check the document first: https://docs.abp.io/en/abp/latest/API/Dynamic-CSharp-API-Clients
Hi,
I will check it out.
Hi,
Is this helpful? https://stackoverflow.com/questions/52933800/response-status-code-does-not-indicate-success-409-conflict-the-feed-already
Hi,
Setting definitions is lazy load, It will be loaded the first time you use it.
try:
public class BackgroundProcessManagerHostedService : IHostedService
{
private readonly IAbpApplicationWithExternalServiceProvider _application;
private readonly IServiceProvider _serviceProvider;
private readonly HelloWorldService _helloWorldService;
private readonly ISettingProvider _settingProvider;
public BackgroundProcessManagerHostedService(
IAbpApplicationWithExternalServiceProvider application,
IServiceProvider serviceProvider,
HelloWorldService helloWorldService, ISettingProvider settingProvider)
{
_application = application;
_serviceProvider = serviceProvider;
_helloWorldService = helloWorldService;
_settingProvider = settingProvider;
}
public async Task StartAsync(CancellationToken cancellationToken)
{
await _settingProvider.GetAllAsync();
_application.Initialize(_serviceProvider);
_helloWorldService.SayHello();
}
public Task StopAsync(CancellationToken cancellationToken)
{
_application.Shutdown();
return Task.CompletedTask;
}
}