If you're creating a bug/problem report, please include followings:
[10:11:56 ERR] ps (Parameter 'Expected [lock] to be a field or gettable property on [<>f__AnonymousType0`2[[StackExchange.Redis.RedisKey, StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46],[StackExchange.Redis.RedisValue, StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46]]]')
System.ArgumentException: ps (Parameter 'Expected [lock] to be a field or gettable property on [<>f__AnonymousType0`2[[StackExchange.Redis.RedisKey, StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46],[StackExchange.Redis.RedisValue, StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46]]]')
at StackExchange.Redis.LuaScript.ExtractParameters(Object ps, Nullable`1 keyPrefix, RedisKey[]& keys, RedisValue[]& args) in /_/src/StackExchange.Redis/LuaScript.cs:line 117
at StackExchange.Redis.RedisDatabase.ScriptEvaluateAsync(LuaScript script, Object parameters, CommandFlags flags) in /_/src/StackExchange.Redis/RedisDatabase.cs:line 1245
at Medallion.Threading.Internal.Helpers.InternalSafeCreateTask[TState,TTask,TResult](Func`2 taskFactory, TState state) in /_/DistributedLock.Core/Internal/Helpers.cs:line 48
--- End of stack trace from previous location ---
at Medallion.Threading.Redis.RedLock.RedLockAcquire.TryAcquireAsync() in /_/DistributedLock.Redis/RedLock/RedLockAcquire.cs:line 94
at Medallion.Threading.Redis.RedisDistributedLock.TryAcquireAsync(CancellationToken cancellationToken) in /_/DistributedLock.Redis/RedisDistributedLock.cs:line 73
at Medallion.Threading.Internal.BusyWaitHelper.WaitAsync[TState,TResult](TState state, Func`3 tryGetValue, TimeoutValue timeout, TimeoutValue minSleepTime, TimeoutValue maxSleepTime, CancellationToken cancellationToken) in /_/DistributedLock.Core/Internal/BusyWaitHelper.cs:line 29
at Medallion.Threading.Internal.Helpers.Convert[TDerived,TBase](ValueTask`1 task, ValueTaskConversion _) in /_/DistributedLock.Core/Internal/Helpers.cs:line 24
at Volo.Abp.DistributedLocking.MedallionAbpDistributedLock.TryAcquireAsync(String name, TimeSpan timeout, CancellationToken cancellationToken)
at Volo.Abp.BackgroundJobs.BackgroundJobWorker.DoWorkAsync(PeriodicBackgroundWorkerContext workerContext)
at Volo.Abp.BackgroundWorkers.AsyncPeriodicBackgroundWorkerBase.DoWorkAsync()
* **Steps to reproduce the issue**:"
We use redis as distributed lock provider configured like this:
context.Services.AddSingleton<IDistributedLockProvider>(sp =>
{
var connection = ConnectionMultiplexer
.Connect(configuration["Redis:Configuration"]);
return new RedisDistributedSynchronizationProvider(connection.GetDatabase());
});
When we run the host project, several distributed lock exceptions occur and log to the console and we couldn't find the reason.
Hi,
How is it possible to revert the last database update (migration) via ABP's DbMigrator executable.
The methods over CLI and Package Manager Console were like the following, but I have no idea about doing this via executing DbMigrator.
CLI
dotnet ef database update <previous-migration-name>
Package Manager Console
PM> Update-Database <previous-migration-name>
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.
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;
}
}
}
}
}
Hi,
Is it possible to access host cache from tenant via IDistributedCache?
ps: I cannot use IgnoreMultiTenancyAttribute for the cached type, because it is Identity Server's type and cache for the type: IdentityServer4.Models.Client
Hi all,
It seems like the Emailing settings page is only visible in host and not in tenants. Is it possible to have the Emailing settings per tenant?
We are trying to use LDAP login feature, and Active Directory requires the username with its domain name like "domain\user". But there is no "Domain name" setting in the page, as we would like to keep this ldap settings per tenant, we cannot add the domain name prefix to username with a hard-coded domain name like described in here: https://docs.abp.io/en/commercial/latest/modules/account/ldap#customize-built-in-services
So I think an additional setting for Domain name would be useful in here, to not hard-code it and keep it tenant-based via settings page. As the current settings page is missing it, now we have to add a custom settings page for the domain name. What are your thoughts? Is there any alternative solution?
Thanks.
As the following link states; https://support.abp.io/QA/Questions/858/How-can-I-create-a-new-angular-dashboard-widget-in-abpio-Documentation-is-only-for-Mvc chart.js is being loaded under the hood by ThemeSharedModule. But in our current project its version is v2.9.4. How can I update its version to a recent version?