"ageiter" 'in aktiviteleri

Ok... strange... but yes, it runs smoothly in your video. Redis is really enabled? ;-)

For 4 entries in the list 823 ms instead of 61 ms is not nothing and from my point of view not usable. You can see this in the behavior of the UI (see video with the delay and the "flickering" of the buttons). The user experience suffers greatly as a result. I can still do tests to see how it looks with large lists...

With 20 items it already takes 1315 ms... I don't want to know how long you have to wait with many more items.

hi

I can't find the test project. Can you share it again? I will test it again.

Thanks.

Sure, I send you an email.

The following is also interesting: I apparently ONLY have delays with the lists generated with the ABP Suite. There are no such delays with those from the admin area (e.g. audit protocols).

But your test was with an EMPTY list! That is not representative. I don't have any problems or delays with an empty list.

Have you seen my screencast? This delay is not normal and I can't imagine where it's coming from. It's not only the loading of the data GetRaumkategorienAsync() that takes a long time, but InvokeAsync(StateHasChanged); that causes this delay. Why is that?

For 4 entries in the list 823 ms instead of 61 ms is not nothing and from my point of view not usable. You can see this in the behavior of the UI (see video with the delay and the "flickering" of the buttons). The user experience suffers greatly as a result. I can still do tests to see how it looks with large lists...

hi

Can you share your test project? liming.ma@volosoft.com

You already have it ;-) Should I send you the link again or can you find my e-mail? Last time (two months ago) you did the test with an empty list. Please enter a few entries this time so that you have a meaningful result.

Hi @maliming,

I finally have some time to take care of a more detailed analysis.

My test scenario:

  • ABP 8.0.4, entities generated with ABP Suite
  • The tested list "Raumkategorien" is purely generated code ( except the stopwatch)
  • The list has only 4 entries (so the amount of data cannot be the problem)
  • I do the test with an already loaded page. I sort by one column... that's all.

Extract from class Raumkategorien.razor.cs (to understand the log):

        private async Task OnDataGridReadAsync(DataGridReadDataEventArgs<RaumkategorieWithNavigationPropertiesDto> e)
        {
            var stopwatch = new Stopwatch();
            stopwatch.Start();
            Logger.Log(LogLevel.Debug, "STOPWATCH: OnDataGridReadAsync started");

            CurrentSorting = e.Columns
                .Where(c => c.SortDirection != SortDirection.Default)
                .Select(c => c.Field + (c.SortDirection == SortDirection.Descending ? " DESC" : ""))
                .JoinAsString(",");
            CurrentPage = e.Page;
            await GetRaumkategorienAsync();
            await InvokeAsync(StateHasChanged);
            
            stopwatch.Stop();
            Logger.Log(LogLevel.Debug, "STOPWATCH: OnDataGridReadAsync executed in {ElapsedMilliseconds}ms", stopwatch.ElapsedMilliseconds);
        }
        
        private async Task GetRaumkategorienAsync()
        {
            var stopwatch = new Stopwatch();
            stopwatch.Start();
            Logger.Log(LogLevel.Debug, "STOPWATCH: GetRaumkategorienAsync started");

            Filter.MaxResultCount = PageSize;
            Filter.SkipCount = (CurrentPage - 1) * PageSize;
            Filter.Sorting = CurrentSorting;

            var result = await RaumkategorienAppService.GetListAsync(Filter);
            RaumkategorieList = result.Items;
            TotalCount = (int)result.TotalCount;
            
            stopwatch.Stop();
            Logger.Log(LogLevel.Debug, "STOPWATCH: GetRaumkategorienAsync executed in {ElapsedMilliseconds}ms", stopwatch.ElapsedMilliseconds);
        }

Screenshot of the log:

Screencast without Redis

Screencast with Redis

In the screencast WITH Redis you can also see that the buttons are re-rendered etc. Maybe this will put us on the right track...

It works. Thank you very much @liangshiwei!

Hi

You can modify existing settings definitions in the SettingDefinitionProvider

This does not work like this... externalProviders is null. Abp.Account.ExternalProvider is not in the list.

These are the available setting definitions:

I still need some time for further tests. Can you make sure that the ticket remains open for another month?

You can take existing settings and edit to encrypted storage

var externalProvidersSetting = context.GetOrNull(AccountSettingNames.ExternalProviders); 
externalProvidersSetting.IsEncrypted = true; 

Thank you for this hint. I have to do this in MyAccountSettingsAppService, right?

174 kayıttan 21 ile 30 arası gösteriliyor.
Made with ❤️ on ABP v8.2.0-preview Updated on Mart 25, 2024, 15:11