Activities of "enisn"

This was just for demonstration but you can get it from the configuration by using RemoteServiceConfigurationProvider

Inject it and use it and use GetConfigurationOrDefaultAsync method on the provider like this:

var remoteServiceConfig = await _remoteServiceConfigurationProvider.GetConfigurationOrDefaultAsync("Default");

Hi,

ABP v4.4.2 is not compatible with .NET 8, that why you should update your ABP packages to v8.0 too

Hi,

You need to update migration guides one by one for each version you upgrade: https://abp.io/docs/latest/release-info/migration-guides

Hi,

ABP Framework allows tenants to use separate databases and Saas module has an UI to separate tenant databases manually at runtime. But there is no built-in feature for creating databases dynamically whenever a tenant created or edition changes for a tenant. You have to implement it in your application according to your logic.

Let me show the TenantAppService.cs implementation from the Saas Module:

If you create each tenant with ConnectionStrings property is configured and make sure distributed event is published, you can achieve this logic.

You don't have to write all the codes here, I just wanted to explain the logic. You can easily replace TenantAppService in your application and configure connection string for each tenant dynamically:

[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(ITenantAppService))]
public class CustomTenantAppService : TenantAppService
{
    public CustomTenantAppService(ITenantRepository tenantRepository, IEditionRepository editionRepository, ITenantManager tenantManager, IDataSeeder dataSeeder, ILocalEventBus _localEventBus, IDistributedEventBus distributedEventBus, IOptions<AbpDbConnectionOptions> dbConnectionOptions, IConnectionStringChecker connectionStringChecker) : base(tenantRepository, editionRepository, tenantManager, dataSeeder, _localEventBus, distributedEventBus, dbConnectionOptions, connectionStringChecker)
    {
    }

    public override Task<SaasTenantDto> CreateAsync(SaasTenantCreateDto input)
    {
        // 👇 Something similar
        input.ConnectionStrings.Default = $"Server=localhost;Database=MyProjectName_{input.Name.Normalize()};User=root;Password=123456;";
        return base.CreateAsync(input);
    }
}

Hi,

It seems there is no any breaking-change while migrating v.9.0 to v9.1. https://abp.io/docs/latest/release-info/migration-guides/abp-9-1

Can you try to remove node_modules folder and yarn.lock/packages.lcok file.

Then try to execute yarn command in a clean directory? If problem still continues please let us know

Hi,

It seems there is cache problem, can you try cleaning all the nuget cache and install abp suite standalone.

dotnet nuget locals all --clear

Install/update abp cli:

dotnet tool update --global Volo.Abp.Studio.Cli

Then try to open abp suite

abp suite

⚠️ Make sure you're logged in ABP CLI or ABP Studio. you can check if you're authenticated or not via following command:

abp login-info

If you're not logged in, use abp login command

Hi,

It seems there is no built-in way to retrieve it. But you can override SettingProvider in your application and add another method that applies your custom query by using re https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingProvider.cs

but still you won't be able to access to data source directly to apply a custom query with value, you can also override on of the existing Setting Value Providers https://abp.io/docs/9.0/framework/infrastructure/settings#setting-value-providers

which is TenantSettingValueProvider in this case: https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantSettingValueProvider.cs

Or you can create your own value provider according to your custom requirements and configure it:

Configure<AbpSettingOptions>(options =>
{
    options.ValueProviders.Add<CustomSettingValueProvider>();
});

Hi @richardf

Our angular team will help you on this issue.

Until the you can check this documentation if it helps: https://abp.io/docs/latest/framework/ui/angular/component-replacement

You can create different unit of work scopes and do not wait the second one for returning resposne of the http request. That might be the case.

Also if you don't need, you can disable unit of work only for your handler side. But still, handling operation will be executed sync in the same thread, whenever you use Task.Run, you detach the the thread from the original one and you don't have to wait it. It logically works as expected but whenever an error occurs in the created task, it'll be harder to track it.

By the way, you can manually control unit of work according to your requirements: https://abp.io/docs/latest/framework/architecture/domain-driven-design/unit-of-work#controlling-the-unit-of-work

There is no exact same feature in ABP, but there are alternatives:

You can use Entity Extensions: https://abp.io/docs/latest/framework/architecture/modularity/extending/module-entity-extensions

It allows you easily to add extra properties to existing enities from existing modules and customize them.

Even you can map those newly added properties to a new column in the database: https://abp.io/docs/latest/framework/architecture/modularity/extending/customizing-application-modules-extending-entities#entity-extensions-ef-core

Showing 171 to 180 of 784 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on December 17, 2025, 07:08
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.