Documentation suggests using IDistributedLockProvider instead of IAbpDistributedLock
I don't think so.
https://docs.abp.io/en/abp/latest/Distributed-Locking#using-the-iabpdistributedlock-service
Btw, is IAbpDistributedLock really distributed or in-process? Because we are in a real distributed environment and need a real distributed lock.
It will be really distributed when you use the AbpDistributedLockingModule and context.Services.AddSingleton<IDistributedLockProvider>
hi
Is this menu page MVC or Angular?
hi
You have PaymentWebOptions in appsettings.json, Do you have Configure code?
var configuration = context.Services.GetConfiguration();
Configure<PaymentWebOptions>(configuration.GetSection("PaymentWebOptions"));
OR
Configure<PaymentWebOptions>(options =>
{
options.RootUrl = configuration["AppSelfUrl"];
options.CallbackUrl = configuration["AppSelfUrl"] + "/PaymentSucceed";
});
https://docs.abp.io/en/commercial/latest/modules/payment#enabling-webhooks
hi
Blazor or Blazor Server?
I think it is the current practice to pass the token in the URL.
Related topic: https://github.com/abpframework/abp/issues/5239
hi
Please try to use IAbpDistributedLock.
I can't reproduce the problem, can you try the following code?
context.Services.AddSingleton<IDistributedLockProvider>(sp =>
{
var connection = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]);
return new RedisDistributedSynchronizationProvider(connection.GetDatabase());
});
app.Use(async (httpContext, next) =>
{
await using (var handler = await httpContext.RequestServices.GetRequiredService<IAbpDistributedLock>().TryAcquireAsync("AbpBackgroundJobWorker", TimeSpan.FromSeconds(10)))
{
httpContext.Response.StatusCode = 200;
return;
}
await next(httpContext);
});
ok, I will check it.
hi
If the problem cannot be reproduced every time, you can observe it for a while.
hi
There is a scope service that you can try to override it
https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.RemoteServices/Volo/Abp/Http/Client/RemoteServiceConfigurationProvider.cs#L7