You can see the requests are taking too much time, and return 499
The request must be blocked at some step.
Request finished HTTP/1.1 GET https://api..com/api/app/notifications/get-user-notification - 499 null null 59171973.8186ms
Request finished HTTP/1.1 GET https://api..com/api/abp/application-configuration?includeLocalizationResources=false - 499 null null 59146523.8819ms
Request finished HTTP/1.1 GET https://api..com/api/app/dashboard/recent-newsletters?count=20 - 499 null null 59170152.7414ms
You can change the log level to .MinimumLevel.Debug() so we can get more information next time when this problem occurs again.
public class Program
{
public async static Task Main(string[] args)
{
IdentityModelEventSource.ShowPII = true;
IdentityModelEventSource.Logger.LogLevel = EventLevel.Verbose;
var wilsonTextLogger = new TextWriterEventListener("Logs/identitymodel.txt");
wilsonTextLogger.EnableEvents(IdentityModelEventSource.Logger, EventLevel.Verbose);
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning)
.Enrich.FromLogContext()
.WriteTo.Async(c => c.File("Logs/logs.txt"))
.CreateLogger();
If your app uses OpenIddict you can get a token from connect/token endpoint
https://abp.io/support/questions/6747/How-to-generate-access-token-in-backend-only-with-user-email
Great
Can you share a project so I can reproduce the problem locally?
hi
I am unable to reach the https://powershare.xx.at/ website.
Can you share some code so I can reproduce this problem in a template project?
Thanks.
If your application is monolithic and uses the same DBContext. You can refer to https://github.com/abpframework/abp-samples/tree/master/MultipleDbContext
This is very simple. You only need to check the current user's permissions and then set values for the DTO class in application services.
https://abp.io/docs/latest/framework/fundamentals/authorization#iauthorizationservice
hi
I can see from the log that this API is blocking requests. However, the log level is Information and no more info can be obtained. You can change the log level to Debug so that we can get more information in next time.
And is your Redis work?
IDX10223: Lifetime validation failed. The token is expired.
This is a normal log if your access token is expired.
When this happens:
We can only change the log level and try to reproduce the problem.
There are not many clues at the moment.
.MinimumLevel.Debug()
public class Program
{
public async static Task<int> Main(string[] args)
{
IdentityModelEventSource.ShowPII = true;
IdentityModelEventSource.Logger.LogLevel = EventLevel.Verbose;
var wilsonTextLogger = new TextWriterEventListener("Logs/identitymodel.txt");
wilsonTextLogger.EnableEvents(IdentityModelEventSource.Logger, EventLevel.Verbose);
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning)
.Enrich.FromLogContext()
.WriteTo.Async(c => c.File("Logs/logs.txt"))
.CreateLogger();