Hi,
We use MinIO over ABP's wrapper classes like IBlobContainer and BlobContainerFactory. I would like to get a list of blobs inside a container but as far as I see there is no such functionality in the interface:
How can I get a list of objects inside a blob container which is possible in MinIO api like this: https://docs.min.io/docs/dotnet-client-api-reference.html#listObjects
How can I call an application service of my backend from Identity Server project, which is separated?
https://docs.abp.io/en/abp/latest/Settings
Is it possible to define a setting for storing the logo image and making it configurable over the settings page for each tenant? So that it can be changed in the settings page via a file browser dialog.
Thank you for your help maliming.
By the way, as we are an Enterprise License customer, I have also sent an email to the volosoft contact email address about the issue. (But didn't have a response yet) If we communicate over there maybe I can give more info as it will not be public.
As this is a commercial project, I would rather not share the project structure. But I can give detail about what you are trying to learn.
In addition, when I try to access the feature (using IFeatureChecker) in a plain controller or app service method it works.
Hi Maliming,
I am trying to access it inside a background hosted service project and inside a QuartzBackgroundWorkerBase derived class. (This is some background project for scheduled tasks.)
Btw, as I look at the source code, both IFeatureChecker and IFeatureManager uses line:
var featureDefinition = FeatureDefinitionManager.Get(name);
and I think this line throws the "Undefined feature" exception. But I don't know why.
public virtual FeatureDefinition Get(string name)
{
Check.NotNull(name, nameof(name));
var feature = GetOrNull(name);
if (feature == null)
{
throw new AbpException("Undefined feature: " + name);
}
return feature;
}
I have a background service project, which I need to check if a custom feature is enabled. But the IFeatureChecker.IsEnabledAsync throws
Volo.Abp.AbpException: 'Undefined feature: YYY.XXX'
exception even if I use the _currentPrincipalAccessor.Change technique as stated in https://support.abp.io/QA/Questions/1201/FeatureChecker-is-not-working-when-changing-Tenant-by-code
Here is my code in background worker:
public override async Task Execute(IJobExecutionContext context)
{
var tenants = await _tenantRepository.GetListAsync();
for (int i = 0; i < tenants.Count; i++)
{
var tenant = tenants[i];
using (_currentTenant.Change(tenant.Id))
{
var tenantEditionId = tenant.EditionId;
var principalWithEditionIdClaim = new ClaimsPrincipal(
new ClaimsIdentity(
new Claim[]
{
new(AbpClaimTypes.EditionId, tenantEditionId.ToString()),
}));
using (_currentPrincipalAccessor.Change(principalWithEditionIdClaim))
{
var isFeatureEnabled = **await _featureChecker.IsEnabledAsync(FeatureConstants.FeatureXXX);**
if (!isFeatureEnabled)
{
continue;
}
}
}
}
}
Thank you