Activities of "liangshiwei"

Hi,

You can configure different storage for different containers. for example:


[BlobContainerName("host-profile-pictures")]
public class HostPictureContainer
{
    
}
    
[BlobContainerName("tenant-profile-pictures")]
public class TenantPictureContainer
{
    
}

Configure<AbpBlobStoringOptions>(options =>
{
    options.Containers.Configure<HostPictureContainer>(container =>
    {
        container.IsMultiTenant = false;
        container.UseAws(aws =>
        {
            ....
        });
    });
    
    options.Containers.Configure<TenantPictureContainer>(container =>
    {
        container.UseAzure(azure =>
        {
            ....
        });
    });
});

Hi,

ABP supports password aging in version 7.2.0 .

https://blog.abp.io/abp/ABP.IO-Platform-7.2-RC-Has-Been-Published https://docs.abp.io/en/commercial/latest/modules/identity/periodic-password-change

Hi,

You can check the document:

  • https://docs.abp.io/en/abp/latest/Module-Entity-Extensions
  • https://docs.abp.io/en/abp/latest/Customizing-Application-Modules-Extending-Entities#entity-extensions-ef-core

Hi,

I remember that we have fixed the problem. could you try upgrading to the latest version to test it?

Hi,

You can download files here:https://gist.github.com/realLiangshiwei/c05a989c395f8982b494378d814e0d61

Hi,

Sorry for that, I forgot it is not included in the downloaded source code.

You can tell me which files you want to remove and I will repackage and share it with you

Hi,

I noticed your version is 5.2 and you are using the Hangfire provider.

We enhanced it in 6.0: https://github.com/abpframework/abp/pull/14608

you can override the HangfireBackgroundWorkerManager

[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(IBackgroundWorkerManager)]
public class MyHangfireBackgroundWorkerManager : HangfireBackgroundWorkerManager
{
    private bool _isDisposed;
    private readonly List<IBackgroundWorker> _backgroundWorkers;
    
    public async override Task StartAsync(CancellationToken cancellationToken = default)
    {
        await base.StartAsync(cancellationToken);
        await StartWorkersAsync(cancellationToken);
    }
    
    public async override Task AddAsync(IBackgroundWorker worker, CancellationToken cancellationToken = default)
    {
        switch (worker)
        {
            case IHangfireBackgroundWorker hangfireBackgroundWorker:
            case AsyncPeriodicBackgroundWorkerBase or PeriodicBackgroundWorkerBase:
                 await base.AddAsync(worker, cancellationToken);
                 break;
            default:
                _backgroundWorkers.Add(worker);

                if (IsRunning)
                {
                    await worker.StartAsync(cancellationToken);
                }
                break;   
        }
    }
    
    private async override Task StartWorkersAsync(CancellationToken cancellationToken = default)
    {
        IsRunning = true;

        foreach (var worker in _backgroundWorkers)
        {
            await worker.StartAsync(cancellationToken);
        }
    }
    
    public override async Task StopAsync(CancellationToken cancellationToken = default)
    {
        IsRunning = false;

        foreach (var worker in _backgroundWorkers)
        {
            await worker.StopAsync(cancellationToken);
        }
    }
}

I read something about the use of external logins on the Auth Server

I think it should be working. have you give it a try?

if used for multiple years, the data will inevitably become very large. Is there a better alternative?

No, as I said, you should rethink your use cases. you can consider using data range to filter data.

Hi,

Try:

MyMainHeaderToolbarUserMenu.razor

@using Volo.Abp.AspNetCore.Components.MauiBlazor.LeptonXTheme.Components.ApplicationLayout.SideMenu.MainHeader
@using Volo.Abp.DependencyInjection

@inherits MainHeaderToolbarUserMenu
@attribute [ExposeServices(typeof(MainHeaderToolbarUserMenu))]
@attribute [Dependency(ReplaceServices = true)]

My Custom Page

MyMainHeaderToolbarUserMenu.razor.cs

using Volo.Abp.AspNetCore.Components.MauiBlazor.LeptonXTheme.Components.ApplicationLayout.SideMenu.MainHeader;
using Volo.Abp.DependencyInjection;

[ExposeServices(typeof(MyMainHeaderToolbarUserMenu))]
[Dependency(ReplaceServices = true)]
public partial class MyMainHeaderToolbarUserMenu
{
}
Showing 2791 to 2800 of 6692 entries
Learn More, Pay Less
33% OFF
All Trainings!
Get Your Deal
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.0.0-preview. Updated on September 12, 2025, 10:20