Open Closed

Upgrade to 5.0 Issue #2323


User avatar
0
Rrader30 created
  • ABP Framework version: v5.0
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): seperated
  • Exception message and stack trace:
  • Steps to reproduce the issue:" I recently upgraded a project I have from 4.3 to 5.0. I had a lot of exceptions I needed to work through. Now my API project is crashing before it completely starts. Attached is the log file. Any help to resolve this would be appreciated.
2021-12-23 13:48:07.478 -05:00 [INF] Starting TiberVendor.HttpApi.Host.
2021-12-23 13:48:15.185 -05:00 [INF] User profile is available. Using 'C:\Users\ryanr\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
2021-12-23 13:48:15.549 -05:00 [INF] Start installing Hangfire SQL objects...
2021-12-23 13:48:15.697 -05:00 [INF] Hangfire SQL objects installed.
2021-12-23 13:48:15.757 -05:00 [INF] Starting Hangfire Server using job storage: 'SQL Server: localhost\SQLEXPRESS@TiberVendorAng'
2021-12-23 13:48:15.758 -05:00 [INF] Using the following options for SQL Server job storage: Queue poll interval: 00:00:15.
2021-12-23 13:48:15.758 -05:00 [INF] Using the following options for Hangfire Server:
    Worker count: 20
    Listening queues: 'default'
    Shutdown timeout: 00:00:15
    Schedule polling interval: 00:00:15
2021-12-23 13:48:15.771 -05:00 [DBG] Execution loop BackgroundServerProcess:90579595 has started in 10.2107 ms
2021-12-23 13:48:15.772 -05:00 [INF] Initializing UI Database
2021-12-23 13:48:15.826 -05:00 [INF] Server desktop-2dfljpm:70276:c8f0680d caught stopping signal...
2021-12-23 13:48:15.829 -05:00 [INF] Server desktop-2dfljpm:70276:c8f0680d caught stopped signal...
2021-12-23 13:48:15.890 -05:00 [INF] Server desktop-2dfljpm:70276:c8f0680d successfully announced in 108.9271 ms
2021-12-23 13:48:15.895 -05:00 [DBG] Execution loop ServerHeartbeatProcess:e120c096 has started in 3.9227 ms
2021-12-23 13:48:15.895 -05:00 [INF] Server desktop-2dfljpm:70276:c8f0680d is starting the registered dispatchers: ServerWatchdog, ServerJobCancellationWatcher, ExpirationManager, CountersAggregator, SqlServerHeartbeatProcess, Worker, DelayedJobScheduler, RecurringJobScheduler...
2021-12-23 13:48:15.895 -05:00 [DBG] Execution loop ServerHeartbeatProcess:e120c096 stopped in 4.1088 ms
2021-12-23 13:48:15.899 -05:00 [DBG] Execution loop ServerWatchdog:17bccc67 has started in 4.3167 ms
2021-12-23 13:48:15.899 -05:00 [DBG] Execution loop ServerWatchdog:17bccc67 stopped in 4.3574 ms
2021-12-23 13:48:15.904 -05:00 [DBG] Execution loop ServerJobCancellationWatcher:e29f6cba has started in 6.7077 ms
2021-12-23 13:48:15.904 -05:00 [DBG] Execution loop ServerJobCancellationWatcher:e29f6cba stopped in 6.821 ms
2021-12-23 13:48:15.910 -05:00 [DBG] Execution loop ExpirationManager:0725f7c2 has started in 8.0649 ms
2021-12-23 13:48:15.910 -05:00 [DBG] Execution loop ExpirationManager:0725f7c2 stopped in 8.1971 ms
2021-12-23 13:48:15.913 -05:00 [DBG] Execution loop CountersAggregator:439be6c0 has started in 6.2212 ms
2021-12-23 13:48:15.913 -05:00 [DBG] Execution loop CountersAggregator:439be6c0 stopped in 6.2547 ms
2021-12-23 13:48:15.919 -05:00 [DBG] Execution loop SqlServerHeartbeatProcess:f4e344fc has started in 5.6444 ms
2021-12-23 13:48:15.919 -05:00 [DBG] Execution loop SqlServerHeartbeatProcess:f4e344fc stopped in 5.6894 ms
2021-12-23 13:48:15.925 -05:00 [DBG] Execution loop Worker:24d2f18b has started in 7.6708 ms
2021-12-23 13:48:15.925 -05:00 [DBG] Execution loop Worker:24d2f18b stopped in 7.934 ms
2021-12-23 13:48:15.928 -05:00 [DBG] Execution loop Worker:c05070a1 has started in 11.4221 ms
2021-12-23 13:48:15.928 -05:00 [DBG] Execution loop Worker:c05070a1 stopped in 11.4885 ms
2021-12-23 13:48:15.933 -05:00 [DBG] Execution loop Worker:c7f005dc has started in 16.3926 ms
2021-12-23 13:48:15.934 -05:00 [DBG] Execution loop Worker:c7f005dc stopped in 16.4976 ms
2021-12-23 13:48:15.936 -05:00 [DBG] Execution loop Worker:cd7fd0ba has started in 19.1263 ms
2021-12-23 13:48:15.937 -05:00 [DBG] Execution loop Worker:cd7fd0ba stopped in 19.5377 ms
2021-12-23 13:48:15.944 -05:00 [DBG] Execution loop Worker:9cf54cf7 has started in 26.5275 ms
2021-12-23 13:48:15.944 -05:00 [DBG] Execution loop Worker:9cf54cf7 stopped in 27.4965 ms
2021-12-23 13:48:15.946 -05:00 [DBG] Execution loop Worker:62148920 has started in 29.282 ms
2021-12-23 13:48:15.946 -05:00 [DBG] Execution loop Worker:62148920 stopped in 29.3286 ms
2021-12-23 13:48:15.951 -05:00 [DBG] Execution loop Worker:8f4d5267 has started in 33.1531 ms
2021-12-23 13:48:15.951 -05:00 [DBG] Execution loop Worker:8f4d5267 stopped in 33.5867 ms
2021-12-23 13:48:15.957 -05:00 [DBG] Execution loop Worker:0146fb59 has started in 40.3228 ms
2021-12-23 13:48:15.957 -05:00 [DBG] Execution loop Worker:0146fb59 stopped in 40.4706 ms
2021-12-23 13:48:15.962 -05:00 [DBG] Execution loop Worker:c23324b3 has started in 45.0744 ms
2021-12-23 13:48:15.962 -05:00 [DBG] Execution loop Worker:c23324b3 stopped in 45.5077 ms
2021-12-23 13:48:15.965 -05:00 [DBG] Execution loop Worker:aa8ade2e has started in 47.5985 ms
2021-12-23 13:48:15.965 -05:00 [DBG] Execution loop Worker:aa8ade2e stopped in 47.6411 ms
2021-12-23 13:48:15.970 -05:00 [DBG] Execution loop Worker:d83114e5 has started in 53.1525 ms
2021-12-23 13:48:15.970 -05:00 [DBG] Execution loop Worker:d83114e5 stopped in 53.3358 ms
2021-12-23 13:48:15.976 -05:00 [DBG] Execution loop Worker:584bf70f has started in 58.9081 ms
2021-12-23 13:48:15.977 -05:00 [DBG] Execution loop Worker:584bf70f stopped in 59.5967 ms
2021-12-23 13:48:15.979 -05:00 [DBG] Execution loop Worker:3ee042b1 has started in 61.853 ms
2021-12-23 13:48:15.979 -05:00 [DBG] Execution loop Worker:3ee042b1 stopped in 62.2163 ms
2021-12-23 13:48:15.983 -05:00 [DBG] Execution loop Worker:6e7617aa has started in 65.8995 ms
2021-12-23 13:48:15.983 -05:00 [DBG] Execution loop Worker:6e7617aa stopped in 65.9383 ms
2021-12-23 13:48:15.989 -05:00 [DBG] Execution loop Worker:c394413a has started in 72.3089 ms
2021-12-23 13:48:15.990 -05:00 [DBG] Execution loop Worker:c394413a stopped in 73.0446 ms
2021-12-23 13:48:15.992 -05:00 [DBG] Execution loop Worker:81c10c93 has started in 75.2019 ms
2021-12-23 13:48:15.992 -05:00 [DBG] Execution loop Worker:81c10c93 stopped in 75.2302 ms
2021-12-23 13:48:15.997 -05:00 [DBG] Execution loop Worker:307e71f8 has started in 80.2291 ms
2021-12-23 13:48:15.997 -05:00 [DBG] Execution loop Worker:307e71f8 stopped in 80.2583 ms
2021-12-23 13:48:16.001 -05:00 [DBG] Execution loop Worker:9fc6b0fc has started in 84.2354 ms
2021-12-23 13:48:16.001 -05:00 [DBG] Execution loop Worker:9fc6b0fc stopped in 84.3294 ms
2021-12-23 13:48:16.004 -05:00 [DBG] Execution loop Worker:642a441b has started in 87.3229 ms
2021-12-23 13:48:16.006 -05:00 [DBG] Execution loop Worker:642a441b stopped in 88.8779 ms
2021-12-23 13:48:16.009 -05:00 [DBG] Execution loop Worker:50e592a0 has started in 91.8216 ms
2021-12-23 13:48:16.009 -05:00 [DBG] Execution loop Worker:50e592a0 stopped in 91.8739 ms
2021-12-23 13:48:16.014 -05:00 [INF] Server desktop-2dfljpm:70276:c8f0680d all the dispatchers started
2021-12-23 13:48:16.014 -05:00 [DBG] Execution loop DelayedJobScheduler:2539bd3f has started in 10.2585 ms
2021-12-23 13:48:16.014 -05:00 [DBG] Execution loop DelayedJobScheduler:2539bd3f stopped in 10.3319 ms
2021-12-23 13:48:16.017 -05:00 [DBG] Execution loop RecurringJobScheduler:dfdfa40a has started in 4.7769 ms
2021-12-23 13:48:16.017 -05:00 [DBG] Execution loop RecurringJobScheduler:dfdfa40a stopped in 4.8079 ms
2021-12-23 13:48:16.021 -05:00 [INF] Server desktop-2dfljpm:70276:c8f0680d All dispatchers stopped
2021-12-23 13:48:16.025 -05:00 [INF] Server desktop-2dfljpm:70276:c8f0680d successfully reported itself as stopped in 2.7547 ms
2021-12-23 13:48:16.025 -05:00 [INF] Server desktop-2dfljpm:70276:c8f0680d has been stopped in total 199.2083 ms
2021-12-23 13:48:16.025 -05:00 [DBG] Execution loop BackgroundServerProcess:90579595 stopped in 199.2965 ms
2021-12-23 13:48:16.042 -05:00 [FTL] Host terminated unexpectedly!
Autofac.Core.DependencyResolutionException: An exception was thrown while activating HealthChecks.UI.Core.Data.HealthChecksDb.
 ---> Autofac.Core.DependencyResolutionException: An exception was thrown while invoking the constructor 'Void .ctor(Microsoft.EntityFrameworkCore.DbContextOptions`1[HealthChecks.UI.Core.Data.HealthChecksDb])' on type 'HealthChecksDb'.
 ---> System.TypeLoadException: Method 'GetServiceProviderHashCode' in type 'ExtensionInfo' from assembly 'Microsoft.EntityFrameworkCore.InMemory, Version=5.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' does not have an implementation.
   at Microsoft.EntityFrameworkCore.InMemory.Infrastructure.Internal.InMemoryOptionsExtension.get_Info()
   at Microsoft.EntityFrameworkCore.DbContextOptions.GetHashCode()
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd[TArg](TKey key, Func`3 valueFactory, TArg factoryArgument)
   at Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.GetOrAdd(IDbContextOptions options, Boolean providerRequired)
   at Microsoft.EntityFrameworkCore.DbContext..ctor(DbContextOptions options)
   at lambda_method21(Closure , Object[] )
   at Autofac.Core.Activators.Reflection.BoundConstructor.Instantiate()
   --- End of inner exception stack trace ---
   at Autofac.Core.Activators.Reflection.BoundConstructor.Instantiate()
   at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)
   at Autofac.Core.Activators.Reflection.ReflectionActivator.<ConfigurePipeline>b__11_0(ResolveRequestContext ctxt, Action`1 next)
   at Autofac.Core.Resolving.Middleware.DelegateMiddleware.Execute(ResolveRequestContext context, Action`1 next)
   at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
   at Autofac.Core.Resolving.Middleware.DisposalTrackingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
   at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.&lt;&gt;c__DisplayClass14_0.&lt;BuildPipeline&gt;b__1(ResolveRequestContext ctxt)
   at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
   --- End of inner exception stack trace ---
   at Autofac.Core.Resolving.Middleware.ActivatorErrorHandlingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
   at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.&lt;&gt;c__DisplayClass14_0.&lt;BuildPipeline&gt;b__1(ResolveRequestContext ctxt)
   at Autofac.Core.Pipeline.ResolvePipeline.Invoke(ResolveRequestContext ctxt)
   at Autofac.Core.Resolving.Middleware.RegistrationPipelineInvokeMiddleware.Execute(ResolveRequestContext context, Action`1 next)
   at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
   at Autofac.Core.Resolving.Middleware.SharingMiddleware.<>c__DisplayClass5_0.<Execute>b__0()
   at Autofac.Core.Lifetime.LifetimeScope.CreateSharedInstance(Guid id, Func`1 creator)
   at Autofac.Core.Lifetime.LifetimeScope.CreateSharedInstance(Guid primaryId, Nullable`1 qualifyingId, Func`1 creator)
   at Autofac.Core.Resolving.Middleware.SharingMiddleware.Execute(ResolveRequestContext context, Action`1 next)
   at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
   at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.<>c__DisplayClass14_0.<BuildPipeline>b__1(ResolveRequestContext ctxt)
   at Autofac.Core.Resolving.Middleware.CircularDependencyDetectorMiddleware.Execute(ResolveRequestContext context, Action`1 next)
   at Autofac.Core.Resolving.Pipeline.ResolvePipelineBuilder.&lt;&gt;c__DisplayClass14_0.&lt;BuildPipeline&gt;b__1(ResolveRequestContext ctxt)
   at Autofac.Core.Pipeline.ResolvePipeline.Invoke(ResolveRequestContext ctxt)
   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, ResolveRequest request)
   at Autofac.Core.Resolving.ResolveOperation.ExecuteOperation(ResolveRequest request)
   at Autofac.Core.Resolving.ResolveOperation.Execute(ResolveRequest request)
   at Autofac.Core.Lifetime.LifetimeScope.ResolveComponent(ResolveRequest request)
   at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance)
   at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters)
   at Autofac.ResolutionExtensions.Resolve(IComponentContext context, Type serviceType, IEnumerable`1 parameters)
   at Autofac.ResolutionExtensions.Resolve(IComponentContext context, Type serviceType)
   at Autofac.Extensions.DependencyInjection.AutofacServiceProvider.GetRequiredService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   at HealthChecks.UI.Core.HostedService.UIInitializationHostedService.InitializeDatabase(IServiceProvider sp)
   at HealthChecks.UI.Core.HostedService.UIInitializationHostedService.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
   at TiberVendor.Program.Main(String[] args) in C:\source\repos\_TiberVendor\VendorDatabase\aspnet-core\src\TiberVendor.HttpApi.Host\Program.cs:line 31

36 Answer(s)
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    HI

    Can you try use below packages of AspNetCore.HealthChecks.UI?

    <PackageReference Include="AspNetCore.HealthChecks.UI" Version="6.0.1-rc2.4" />
    <PackageReference Include="AspNetCore.HealthChecks.UI.Client" Version="6.0.1-rc2.4" />
    <PackageReference Include="AspNetCore.HealthChecks.UI.InMemory.Storage" Version="6.0.1-rc2.4" />
    
  • User Avatar
    0
    Rrader30 created

    When you say use. Are you referring to referring the package in one of the projects or something else?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

  • User Avatar
    0
    Rrader30 created

    it appears changing these worked. However, I am running into another upgrade issue.

    I have added this line of code to my HostApi.Host startup.cs

    app.UseHangfireDashboard("/hangfire",new DashboardOptions { AsyncAuthorization = new[] { new AbpHangfireAuthorizationFilter(requiredPermissionName: "hangfirePerm") } });

    When I try to access hangfire on /hangfire I get page can not be found error. log file entries are below.

    SELECT TOP(@__p_1) [a].[Id], [a].[ConcurrencyStamp], [a].[CreationTime], [a].[ExtraProperties], [a].[IsAbandoned], [a].[JobArgs], [a].[JobName], [a].[LastTryTime], [a].[NextTryTime], [a].[Priority], [a].[TryCount] FROM [AbpBackgroundJobs] AS [a] WHERE ([a].[IsAbandoned] = CAST(0 AS bit)) AND ([a].[NextTryTime] <= @__now_0) ORDER BY [a].[Priority] DESC, [a].[TryCount], [a].[NextTryTime] 2021-12-27 09:21:55.711 -05:00 [INF] Request starting HTTP/2 GET https://localhost:44350/hangfire - - 2021-12-27 09:21:55.713 -05:00 [INF] Request finished HTTP/2 GET https://localhost:44350/hangfire - - - 401 - - 2.2855ms 2021-12-27 09:21:59.831 -05:00 [INF] Entity Framework Core 6.0.1 initialized 'BackgroundJobsDbContext' using provider 'Microsoft.EntityFrameworkCore.SqlServer:6.0.0' with options: QuerySplittingBehavior=SplitQuery 2021-12-27 09:21:59.832 -05:00 [INF] Executed DbCommand (1ms) [Parameters=[@__p_1='?' (DbType = Int32), @__now_0='?' (DbType = DateTime2)], CommandType='"Text"', CommandTimeout='30'] SELECT TOP(@__p_1) [a].[Id], [a].[ConcurrencyStamp], [a].[CreationTime], [a].[ExtraProperties], [a].[IsAbandoned], [a].[JobArgs], [a].[JobName], [a].[LastTryTime], [a].[NextTryTime], [a].[Priority], [a].[TryCount] FROM [AbpBackgroundJobs] AS [a] WHERE ([a].[IsAbandoned] = CAST(0 AS bit)) AND ([a].[NextTryTime] <= @__now_0) ORDER BY [a].[Priority] DESC, [a].[TryCount], [a].[NextTryTime]

    If I change the code back to app.UseHangfireDashboard(); things appear to be working properly. What could be missing?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi There are some changes: https://docs.abp.io/en/abp/5.0/Background-Jobs-Hangfire#abphangfireauthorizationfilter

  • User Avatar
    0
    Rrader30 created

    I seen this and tried following it. When I define the parameters for using authorization the hangfire url stops working but not supplying parameters everything works

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    Please share the full code of your Startup class.

  • User Avatar
    0
    Rrader30 created

    All configuration is in the HttpApiHostModule.cs in the HttpApi.Host project

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using Microsoft.AspNetCore.Authentication.Google; using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Authentication.MicrosoftAccount; using Microsoft.AspNetCore.Authentication.Twitter; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Caching.StackExchangeRedis; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using TiberVendor.EntityFrameworkCore; using TiberVendor.MultiTenancy; using StackExchange.Redis; using Microsoft.OpenApi.Models; using TiberVendor.HealthChecks; using Volo.Abp.Caching.StackExchangeRedis; using Volo.Abp; using Volo.Abp.Account; using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.Autofac; using Volo.Abp.Caching; using Volo.Abp.Identity.AspNetCore; using Volo.Abp.Modularity; using Volo.Abp.Swashbuckle; using Volo.Abp.UI.Navigation.Urls; using Volo.Abp.VirtualFileSystem; using Volo.Abp.BackgroundJobs.Hangfire; using Hangfire; using Volo.Chat; using Volo.Abp.Hangfire; namespace TiberVendor { [DependsOn( typeof(TiberVendorHttpApiModule), typeof(AbpAutofacModule), typeof(AbpCachingStackExchangeRedisModule), typeof(AbpAspNetCoreMvcUiMultiTenancyModule), typeof(AbpIdentityAspNetCoreModule), typeof(TiberVendorApplicationModule), typeof(TiberVendorEntityFrameworkCoreModule), typeof(AbpSwashbuckleModule), typeof(AbpAspNetCoreSerilogModule), typeof(AbpBackgroundJobsHangfireModule) )] [DependsOn(typeof(ChatSignalRModule))] public class TiberVendorHttpApiHostModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); var hostingEnvironment = context.Services.GetHostingEnvironment(); ConfigureUrls(configuration); ConfigureConventionalControllers(); ConfigureAuthentication(context, configuration); ConfigureSwagger(context, configuration); ConfigureCache(configuration); ConfigureVirtualFileSystem(context); ConfigureRedis(context, configuration, hostingEnvironment); ConfigureCors(context, configuration); ConfigureExternalProviders(context); ConfigureHealthChecks(context); ConfigureHangfire(context, configuration); } private void ConfigureHangfire(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.AddHangfire(config => { config.UseSqlServerStorage(configuration.GetConnectionString("Default")); }); } private void ConfigureHealthChecks(ServiceConfigurationContext context) { context.Services.AddTiberVendorHealthChecks(); } private void ConfigureUrls(IConfiguration configuration) { Configure<AppUrlOptions>(options => { options.Applications["Angular"].RootUrl = configuration["App:AngularUrl"]; options.Applications["Angular"].Urls[AccountUrlNames.PasswordReset] = "account/reset-password"; options.Applications["Angular"].Urls[AccountUrlNames.EmailConfirmation] = "account/email-confirmation"; }); } private void ConfigureCache(IConfiguration configuration) { Configure<AbpDistributedCacheOptions>(options => { options.KeyPrefix = "TiberVendor:"; }); } private void ConfigureVirtualFileSystem(ServiceConfigurationContext context) { var hostingEnvironment = context.Services.GetHostingEnvironment(); if (hostingEnvironment.IsDevelopment()) { Configure<AbpVirtualFileSystemOptions>(options => { options.FileSets.ReplaceEmbeddedByPhysical<TiberVendorDomainSharedModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}TiberVendor.Domain.Shared", Path.DirectorySeparatorChar))); options.FileSets.ReplaceEmbeddedByPhysical<TiberVendorDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}TiberVendor.Domain", Path.DirectorySeparatorChar))); options.FileSets.ReplaceEmbeddedByPhysical<TiberVendorApplicationContractsModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}TiberVendor.Application.Contracts", Path.DirectorySeparatorChar))); options.FileSets.ReplaceEmbeddedByPhysical<TiberVendorApplicationModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}TiberVendor.Application", Path.DirectorySeparatorChar))); options.FileSets.ReplaceEmbeddedByPhysical<TiberVendorHttpApiModule>(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}TiberVendor.HttpApi", Path.DirectorySeparatorChar))); }); } } private void ConfigureConventionalControllers() { Configure<AbpAspNetCoreMvcOptions>(options => { options.ConventionalControllers.Create(typeof(TiberVendorApplicationModule).Assembly); }); } private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.Authority = configuration["AuthServer:Authority"]; options.RequireHttpsMetadata = Convert.ToBoolean(configuration["AuthServer:RequireHttpsMetadata"]); options.Audience = "TiberVendor"; }); } private static void ConfigureSwagger(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.AddAbpSwaggerGenWithOAuth( configuration["AuthServer:Authority"], new Dictionary<string, string> { {"TiberVendor", "TiberVendor API"} }, options => { options.SwaggerDoc("v1", new OpenApiInfo {Title = "TiberVendor API", Version = "v1"}); options.DocInclusionPredicate((docName, description) => true); options.CustomSchemaIds(type => type.FullName); }); } private void ConfigureRedis( ServiceConfigurationContext context, IConfiguration configuration, IWebHostEnvironment hostingEnvironment) { if (!hostingEnvironment.IsDevelopment()) { var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]); context.Services .AddDataProtection() .PersistKeysToStackExchangeRedis(redis, "TiberVendor-Protection-Keys"); } } private void ConfigureCors(ServiceConfigurationContext context, IConfiguration configuration) { context.Services.AddCors(options => { options.AddDefaultPolicy(builder => { builder .WithOrigins( configuration["App:CorsOrigins"] .Split(",", StringSplitOptions.RemoveEmptyEntries) .Select(o => o.Trim().RemovePostFix("/")) .ToArray() ) .WithAbpExposedHeaders() .SetIsOriginAllowedToAllowWildcardSubdomains() .AllowAnyHeader() .AllowAnyMethod() .AllowCredentials(); }); }); } private void ConfigureExternalProviders(ServiceConfigurationContext context) { context.Services .AddDynamicExternalLoginProviderOptions<GoogleOptions>( GoogleDefaults.AuthenticationScheme, options => { options.WithProperty(x => x.ClientId); options.WithProperty(x => x.ClientSecret, isSecret: true); } ) .AddDynamicExternalLoginProviderOptions<MicrosoftAccountOptions>( MicrosoftAccountDefaults.AuthenticationScheme, options => { options.WithProperty(x => x.ClientId); options.WithProperty(x => x.ClientSecret, isSecret: true); } ) .AddDynamicExternalLoginProviderOptions<TwitterOptions>( TwitterDefaults.AuthenticationScheme, options => { options.WithProperty(x => x.ConsumerKey); options.WithProperty(x => x.ConsumerSecret, isSecret: true); } ); } public override void OnApplicationInitialization(ApplicationInitializationContext context) { var app = context.GetApplicationBuilder(); var env = context.GetEnvironment(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseAbpRequestLocalization(); if (!env.IsDevelopment()) { app.UseErrorPage(); } app.UseStaticFiles(); app.UseRouting(); app.UseCors(); app.UseAuthentication(); if (MultiTenancyConsts.IsEnabled) { app.UseMultiTenancy(); } app.UseAuthorization(); app.UseSwagger(); app.UseAbpSwaggerUI(options => { options.SwaggerEndpoint("/swagger/v1/swagger.json", "TiberVendor API"); var configuration = context.GetConfiguration(); options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]); options.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]); }); app.UseAuditing(); app.UseAbpSerilogEnrichers(); app.UseUnitOfWork(); app.UseConfiguredEndpoints(); app.UseHangfireDashboard(); //app.UseHangfireDashboard("/hangfire",new DashboardOptions //{ // AsyncAuthorization = new[] { new AbpHangfireAuthorizationFilter(requiredPermissionName: "hangfirePerm") } //}); } } }

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    How about this?

    UseHangfireDashboard can't be next of UseConfiguredEndpoints.

    app.UseAuthentication();
    if (MultiTenancyConsts.IsEnabled)
    {
        app.UseMultiTenancy();
    }
    app.UseAuthorization();
    
    app.UseHangfireDashboard();
    //app.UseHangfireDashboard("/hangfire",new DashboardOptions
    //{
    // AsyncAuthorization = new[] { new AbpHangfireAuthorizationFilter(requiredPermissionName: "hangfirePerm") }
    //});
    
    app.UseSwagger();
    app.UseAbpSwaggerUI(options =>
    {
        options.SwaggerEndpoint("/swagger/v1/swagger.json", "TiberVendor API");
        var configuration = context.GetConfiguration();
        options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
        options.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]);
    });
    ``
    
  • User Avatar
    0
    Rrader30 created

    So I tried this and I am getting 401 error on the /hangfire url

    here is the log

    2021-12-27 20:48:33.611 -05:00 [DBG] Added 0 entity changes to the current audit log 2021-12-27 20:48:33.612 -05:00 [INF] Executed endpoint 'Health checks' 2021-12-27 20:48:33.612 -05:00 [DBG] Added 0 entity changes to the current audit log 2021-12-27 20:48:33.612 -05:00 [INF] Received HTTP response headers after 14.962ms - 200 2021-12-27 20:48:33.612 -05:00 [INF] End processing HTTP request after 15.1008ms - 200 2021-12-27 20:48:33.612 -05:00 [INF] Request finished HTTP/1.1 GET https://localhost:44350/health-status - - - 200 - application/json 11.1714ms 2021-12-27 20:48:33.620 -05:00 [DBG] HealthReportCollector - health report execution history saved. 2021-12-27 20:48:33.620 -05:00 [DBG] HealthReport history already exists and is in the same state, updating the values. 2021-12-27 20:48:33.623 -05:00 [INF] Saved 2 entities to in-memory store. 2021-12-27 20:48:33.623 -05:00 [DBG] HealthReportCollector has completed. 2021-12-27 20:48:33.623 -05:00 [DBG] HealthCheck collector HostedService executed successfully. 2021-12-27 20:48:35.727 -05:00 [INF] Request starting HTTP/2 GET https://localhost:44350/hangfire - - 2021-12-27 20:48:35.752 -05:00 [INF] Request finished HTTP/2 GET https://localhost:44350/hangfire - - - 401 - - 24.8275ms 2021-12-27 20:48:38.551 -05:00 [INF] Entity Framework Core 6.0.1 initialized 'BackgroundJobsDbContext' using provider 'Microsoft.EntityFrameworkCore.SqlServer:6.0.0' with options: QuerySplittingBehavior=SplitQuery 2021-12-27 20:48:38.553 -05:00 [INF] Executed DbCommand (2ms) [Parameters=[@__p_1='?' (DbType = Int32), @__now_0='?' (DbType = DateTime2)], CommandType='"Text"', CommandTimeout='30'] SELECT TOP(@__p_1) [a].[Id], [a].[ConcurrencyStamp], [a].[CreationTime], [a].[ExtraProperties], [a].[IsAbandoned], [a].[JobArgs], [a].[JobName], [a].[LastTryTime], [a].[NextTryTime], [a].[Priority], [a].[TryCount] FROM [AbpBackgroundJobs] AS [a] WHERE ([a].[IsAbandoned] = CAST(0 AS bit)) AND ([a].[NextTryTime] <= @__now_0) ORDER BY [a].[Priority] DESC, [a].[TryCount], [a].[NextTryTime]

    Here is my code

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using Microsoft.AspNetCore.Authentication.Google; using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Authentication.MicrosoftAccount; using Microsoft.AspNetCore.Authentication.Twitter; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Caching.StackExchangeRedis; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using TiberVendor.EntityFrameworkCore; using TiberVendor.MultiTenancy; using StackExchange.Redis; using Microsoft.OpenApi.Models; using TiberVendor.HealthChecks; using Volo.Abp.Caching.StackExchangeRedis; using Volo.Abp; using Volo.Abp.Account; using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.Autofac; using Volo.Abp.Caching; using Volo.Abp.Identity.AspNetCore; using Volo.Abp.Modularity; using Volo.Abp.Swashbuckle; using Volo.Abp.UI.Navigation.Urls; using Volo.Abp.VirtualFileSystem; using Volo.Abp.BackgroundJobs.Hangfire; using Hangfire; using Volo.Chat; using Volo.Abp.Hangfire;

    namespace TiberVendor { [DependsOn( typeof(TiberVendorHttpApiModule), typeof(AbpAutofacModule), typeof(AbpCachingStackExchangeRedisModule), typeof(AbpAspNetCoreMvcUiMultiTenancyModule), typeof(AbpIdentityAspNetCoreModule), typeof(TiberVendorApplicationModule), typeof(TiberVendorEntityFrameworkCoreModule), typeof(AbpSwashbuckleModule), typeof(AbpAspNetCoreSerilogModule), typeof(AbpBackgroundJobsHangfireModule) )] [DependsOn(typeof(ChatSignalRModule))] public class TiberVendorHttpApiHostModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { var configuration = context.Services.GetConfiguration(); var hostingEnvironment = context.Services.GetHostingEnvironment();

            ConfigureUrls(configuration);
            ConfigureConventionalControllers();
            ConfigureAuthentication(context, configuration);
            ConfigureSwagger(context, configuration);
            ConfigureCache(configuration);
            ConfigureVirtualFileSystem(context);
            ConfigureRedis(context, configuration, hostingEnvironment);
            ConfigureCors(context, configuration);
            ConfigureExternalProviders(context);
            ConfigureHealthChecks(context);
            ConfigureHangfire(context, configuration);
        }
    
        private void ConfigureHangfire(ServiceConfigurationContext context, IConfiguration configuration)
        {
            context.Services.AddHangfire(config =&gt;
            {
                config.UseSqlServerStorage(configuration.GetConnectionString("Default"));
            });
        }
    
        private void ConfigureHealthChecks(ServiceConfigurationContext context)
        {
            context.Services.AddTiberVendorHealthChecks();
        }
    
        private void ConfigureUrls(IConfiguration configuration)
        {
            Configure&lt;AppUrlOptions&gt;(options =>
            {
                options.Applications["Angular"].RootUrl = configuration["App:AngularUrl"];
                options.Applications["Angular"].Urls[AccountUrlNames.PasswordReset] = "account/reset-password";
                options.Applications["Angular"].Urls[AccountUrlNames.EmailConfirmation] = "account/email-confirmation";
            });
        }
    
        private void ConfigureCache(IConfiguration configuration)
        {
            Configure&lt;AbpDistributedCacheOptions&gt;(options =>
            {
                options.KeyPrefix = "TiberVendor:";
            });
        }
    
        private void ConfigureVirtualFileSystem(ServiceConfigurationContext context)
        {
            var hostingEnvironment = context.Services.GetHostingEnvironment();
    
            if (hostingEnvironment.IsDevelopment())
            {
                Configure&lt;AbpVirtualFileSystemOptions&gt;(options =>
                {
                    options.FileSets.ReplaceEmbeddedByPhysical&lt;TiberVendorDomainSharedModule&gt;(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}TiberVendor.Domain.Shared", Path.DirectorySeparatorChar)));
                    options.FileSets.ReplaceEmbeddedByPhysical&lt;TiberVendorDomainModule&gt;(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}TiberVendor.Domain", Path.DirectorySeparatorChar)));
                    options.FileSets.ReplaceEmbeddedByPhysical&lt;TiberVendorApplicationContractsModule&gt;(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}TiberVendor.Application.Contracts", Path.DirectorySeparatorChar)));
                    options.FileSets.ReplaceEmbeddedByPhysical&lt;TiberVendorApplicationModule&gt;(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}TiberVendor.Application", Path.DirectorySeparatorChar)));
                    options.FileSets.ReplaceEmbeddedByPhysical&lt;TiberVendorHttpApiModule&gt;(Path.Combine(hostingEnvironment.ContentRootPath, string.Format("..{0}..{0}src{0}TiberVendor.HttpApi", Path.DirectorySeparatorChar)));
                });
            }
        }
    
        private void ConfigureConventionalControllers()
        {
            Configure&lt;AbpAspNetCoreMvcOptions&gt;(options =>
            {
                options.ConventionalControllers.Create(typeof(TiberVendorApplicationModule).Assembly);
            });
        }
    
        private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration)
        {
            context.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
                .AddJwtBearer(options =>
                {
                    options.Authority = configuration["AuthServer:Authority"];
                    options.RequireHttpsMetadata = Convert.ToBoolean(configuration["AuthServer:RequireHttpsMetadata"]);
                    options.Audience = "TiberVendor";
                });
        }
    
        private static void ConfigureSwagger(ServiceConfigurationContext context, IConfiguration configuration)
        {
            context.Services.AddAbpSwaggerGenWithOAuth(
                configuration["AuthServer:Authority"],
                new Dictionary&lt;string, string&gt;
                {
                    {"TiberVendor", "TiberVendor API"}
                },
                options =>
                {
                    options.SwaggerDoc("v1", new OpenApiInfo {Title = "TiberVendor API", Version = "v1"});
                    options.DocInclusionPredicate((docName, description) => true);
                    options.CustomSchemaIds(type => type.FullName);
                });
        }
    
        private void ConfigureRedis(
            ServiceConfigurationContext context,
            IConfiguration configuration,
            IWebHostEnvironment hostingEnvironment)
        {
            if (!hostingEnvironment.IsDevelopment())
            {
                var redis = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]);
                context.Services
                    .AddDataProtection()
                    .PersistKeysToStackExchangeRedis(redis, "TiberVendor-Protection-Keys");
            }
        }
    
        private void ConfigureCors(ServiceConfigurationContext context, IConfiguration configuration)
        {
            context.Services.AddCors(options =>
            {
                options.AddDefaultPolicy(builder =>
                {
                    builder
                        .WithOrigins(
                            configuration["App:CorsOrigins"]
                                .Split(",", StringSplitOptions.RemoveEmptyEntries)
                                .Select(o => o.Trim().RemovePostFix("/"))
                                .ToArray()
                        )
                        .WithAbpExposedHeaders()
                        .SetIsOriginAllowedToAllowWildcardSubdomains()
                        .AllowAnyHeader()
                        .AllowAnyMethod()
                        .AllowCredentials();
                });
            });
        }
    
        private void ConfigureExternalProviders(ServiceConfigurationContext context)
        {
            context.Services
                .AddDynamicExternalLoginProviderOptions&lt;GoogleOptions&gt;(
                    GoogleDefaults.AuthenticationScheme,
                    options =>
                    {
                        options.WithProperty(x => x.ClientId);
                        options.WithProperty(x => x.ClientSecret, isSecret: true);
                    }
                )
                .AddDynamicExternalLoginProviderOptions&lt;MicrosoftAccountOptions&gt;(
                    MicrosoftAccountDefaults.AuthenticationScheme,
                    options =>
                    {
                        options.WithProperty(x => x.ClientId);
                        options.WithProperty(x => x.ClientSecret, isSecret: true);
                    }
                )
                .AddDynamicExternalLoginProviderOptions&lt;TwitterOptions&gt;(
                    TwitterDefaults.AuthenticationScheme,
                    options =>
                    {
                        options.WithProperty(x => x.ConsumerKey);
                        options.WithProperty(x => x.ConsumerSecret, isSecret: true);
                    }
                );
        }
    
        public override void OnApplicationInitialization(ApplicationInitializationContext context)
        {
            var app = context.GetApplicationBuilder();
            var env = context.GetEnvironment();
    
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
    
            app.UseAbpRequestLocalization();
    
            if (!env.IsDevelopment())
            {
                app.UseErrorPage();
            }
    
            app.UseStaticFiles();
            app.UseRouting();
            app.UseCors();
            app.UseAuthentication();
            
            if (MultiTenancyConsts.IsEnabled)
            {
                app.UseMultiTenancy();
            }
    
            app.UseAuthorization();
            app.UseHangfireDashboard("/hangfire", new DashboardOptions
            {
                AsyncAuthorization = new[] { new AbpHangfireAuthorizationFilter(requiredPermissionName: "hangfirePerm") }
            });
    
            app.UseSwagger();
            app.UseAbpSwaggerUI(options =>
            {
               options.SwaggerEndpoint("/swagger/v1/swagger.json", "TiberVendor API");
    
               var configuration = context.GetConfiguration();
               options.OAuthClientId(configuration["AuthServer:SwaggerClientId"]);
               options.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]);
            });
            app.UseAuditing();
            app.UseAbpSerilogEnrichers();
            app.UseUnitOfWork();
            app.UseConfiguredEndpoints();
            //app.UseHangfireDashboard();
            
        }
    }
    

    }

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    Copy the code and debug it.

    https://github.com/abpframework/abp/blob/rel-5.0/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireAuthorizationFilter.cs

  • User Avatar
    0
    Rrader30 created

    So I copied the code over and debugged. It appears that the issue is in the IsLoggedIn. It continues to return false. I have validated that in the Angular App I am logged in and I have tried to authenticate via Swagger. Regardless of what I do it always returns false. Should I be authenticating in a different way?

    private static bool IsLoggedIn(DashboardContext context, bool enableTenant) { var currentUser = context.GetHttpContext().RequestServices.GetRequiredService<ICurrentUser>();

            if (!enableTenant)
            {
                return currentUser.IsAuthenticated && !currentUser.TenantId.HasValue;
            }
    
            return currentUser.IsAuthenticated;
        }
    
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi Rrader30

    It seems we need to sign in to the API website. I will create a demo.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    https://github.com/abpframework/abp/commit/cf28da1466877f4727f96277924416d4ec7fa9b2

  • User Avatar
    0
    Rrader30 created

    I tried coping the code and I seem to still have an issue. How should we authenticate to get this to work?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    What's the issue? Please share the details.

  • User Avatar
    0
    Rrader30 created

    I am still getting the 401 error. I tried logging into the angular frontend and also authenticating within swagger

    2021-12-30 10:36:25.141 -05:00 [DBG] HealthReportCollector has completed. 2021-12-30 10:36:25.141 -05:00 [DBG] HealthCheck collector HostedService executed successfully. 2021-12-30 10:36:29.735 -05:00 [INF] Request starting HTTP/2 GET https://localhost:44350/hangfire - - 2021-12-30 10:36:29.759 -05:00 [INF] Request finished HTTP/2 GET https://localhost:44350/hangfire - - - 401 - - 23.9740ms 2021-12-30 10:36:29.865 -05:00 [INF] Request starting HTTP/2 GET https://localhost:44350/hangfire - - 2021-12-30 10:36:29.868 -05:00 [INF] Request finished HTTP/2 GET https://localhost:44350/hangfire - - - 401 - - 2.4635ms

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Login on https://localhost:44350/home/login

  • User Avatar
    0
    Rrader30 created

    When I try I am getting

    500 Internal Server Error UNAUTHORIZED_CLIENT Unknown client or client not enabled

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    You should create a new client.

  • User Avatar
    0
    Rrader30 created

    So I created the client

    When I navigate to https://localhost:44365/home/login

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Can you clear the Redis and re-try?

    If it still not working, Please share the details info that exist in the logs.txt

  • User Avatar
    0
    Dicky.tech@gmail.com created

    Hi,

    Am also getting the same error with Blazor. After I publish on iis it works.

    <br>

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Thanks @Dicky.tech

  • User Avatar
    0
    Rrader30 created

    Here is the log for Host.API

    2022-01-04 07:59:05.244 -05:00 [DBG] Added 0 entity changes to the current audit log 2022-01-04 07:59:05.245 -05:00 [INF] Executed endpoint 'Health checks' 2022-01-04 07:59:05.245 -05:00 [DBG] Added 0 entity changes to the current audit log 2022-01-04 07:59:05.245 -05:00 [INF] Received HTTP response headers after 55.7843ms - 200 2022-01-04 07:59:05.245 -05:00 [INF] End processing HTTP request after 55.8595ms - 200 2022-01-04 07:59:05.246 -05:00 [INF] Request finished HTTP/1.1 GET https://localhost:44350/health-status - - - 200 - application/json 51.4686ms 2022-01-04 07:59:05.247 -05:00 [DBG] HealthReportCollector - health report execution history saved. 2022-01-04 07:59:05.247 -05:00 [DBG] HealthReport history already exists and is in the same state, updating the values. 2022-01-04 07:59:05.247 -05:00 [INF] Saved 2 entities to in-memory store. 2022-01-04 07:59:05.248 -05:00 [DBG] HealthReportCollector has completed. 2022-01-04 07:59:05.248 -05:00 [DBG] HealthCheck collector HostedService executed successfully. 2022-01-04 07:59:05.329 -05:00 [INF] Entity Framework Core 6.0.1 initialized 'BackgroundJobsDbContext' using provider 'Microsoft.EntityFrameworkCore.SqlServer:6.0.0' with options: QuerySplittingBehavior=SplitQuery 2022-01-04 07:59:05.800 -05:00 [INF] Executed DbCommand (471ms) [Parameters=[@__p_1='?' (DbType = Int32), @__now_0='?' (DbType = DateTime2)], CommandType='"Text"', CommandTimeout='30'] SELECT TOP(@__p_1) [a].[Id], [a].[ConcurrencyStamp], [a].[CreationTime], [a].[ExtraProperties], [a].[IsAbandoned], [a].[JobArgs], [a].[JobName], [a].[LastTryTime], [a].[NextTryTime], [a].[Priority], [a].[TryCount] FROM [AbpBackgroundJobs] AS [a] WHERE ([a].[IsAbandoned] = CAST(0 AS bit)) AND ([a].[NextTryTime] <= @__now_0) ORDER BY [a].[Priority] DESC, [a].[TryCount], [a].[NextTryTime] 2022-01-04 07:59:10.811 -05:00 [INF] Entity Framework Core 6.0.1 initialized 'BackgroundJobsDbContext' using provider 'Microsoft.EntityFrameworkCore.SqlServer:6.0.0' with options: QuerySplittingBehavior=SplitQuery 2022-01-04 07:59:11.015 -05:00 [INF] Executed DbCommand (203ms) [Parameters=[@__p_1='?' (DbType = Int32), @__now_0='?' (DbType = DateTime2)], CommandType='"Text"', CommandTimeout='30'] SELECT TOP(@__p_1) [a].[Id], [a].[ConcurrencyStamp], [a].[CreationTime], [a].[ExtraProperties], [a].[IsAbandoned], [a].[JobArgs], [a].[JobName], [a].[LastTryTime], [a].[NextTryTime], [a].[Priority], [a].[TryCount] FROM [AbpBackgroundJobs] AS [a] WHERE ([a].[IsAbandoned] = CAST(0 AS bit)) AND ([a].[NextTryTime] <= @__now_0) ORDER BY [a].[Priority] DESC, [a].[TryCount], [a].[NextTryTime] 2022-01-04 07:59:13.215 -05:00 [INF] Request starting HTTP/2 GET https://localhost:44350/hangfire - - 2022-01-04 07:59:13.241 -05:00 [INF] Request finished HTTP/2 GET https://localhost:44350/hangfire - - - 401 - - 26.1707ms 2022-01-04 07:59:13.816 -05:00 [INF] Request starting HTTP/2 GET https://localhost:44350/hangfire - - 2022-01-04 07:59:13.818 -05:00 [INF] Request finished HTTP/2 GET https://localhost:44350/hangfire - - - 401 - - 2.4026ms 2022-01-04 07:59:15.252 -05:00 [DBG] Executing HealthCheck collector HostedService. 2022-01-04 07:59:15.253 -05:00 [INF] Entity Framework Core 6.0.1 initialized 'HealthChecksDb' using provider 'Microsoft.EntityFrameworkCore.InMemory:6.0.0' with options: StoreName=HealthChecksUI 2022-01-04 07:59:15.253 -05:00 [INF] Start processing HTTP request GET "https://localhost:44350/health-status" 2022-01-04 07:59:15.253 -05:00 [INF] Sending HTTP request GET "https://localhost:44350/health-status" 2022-01-04 07:59:15.254 -05:00 [INF] Request starting HTTP/1.1 GET https://localhost:44350/health-status - - 2022-01-04 07:59:15.256 -05:00 [INF] Executing endpoint 'Health checks' 2022-01-04 07:59:15.258 -05:00 [INF] Entity Framework Core 6.0.1 initialized 'TiberVendorDbContext' using provider 'Microsoft.EntityFrameworkCore.SqlServer:6.0.0' with options: QuerySplittingBehavior=SplitQuery 2022-01-04 07:59:15.874 -05:00 [INF] Executed DbCommand (614ms) [Parameters=[@__ef_filter__p_0='?' (DbType = Boolean), @__p_0='?' (DbType = Int32), @__p_1='?' (DbType = Int32)], CommandType='"Text"', CommandTimeout='30'] SELECT [a].[Id], [a].[ConcurrencyStamp], [a].[ExtraProperties], [a].[IsDefault], [a].[IsPublic], [a].[IsStatic], [a].[Name], [a].[NormalizedName], [a].[TenantId] FROM [AbpRoles] AS [a] WHERE (@__ef_filter__p_0 = CAST(1 AS bit)) OR [a].[TenantId] IS NULL ORDER BY [a].[Id] OFFSET @__p_0 ROWS FETCH NEXT @__p_1 ROWS ONLY

Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11