** Our tech stack**:
** Question**: Our platform, which we build upon the ABP framework, serves two scenarios: the user access to functionality via an Angular-based portal that relies upon the backend APIs and offering API access for partners who don't want to use the portal but willing to access functionality we offer via the backend API layer. Now, we're facing another scenario where our clients want some sort of widget which is hosted on our end and can be embedded into their application. Their app is Angular as well. Way back, to fulfill scenarios like this, we used to develop responsive pages that could be embedded in somebody's app as an iFrame. My take on iFrames is simple - these days, this way of integration is treated as insecure. This is the context, and here's the list of questions I have and I hope you guys can help to address them:
Please advise.
To clarify - workstation0912
is my Windows 11 machine name. It's unclear why it resolves to this address if I run the Api.Host locally, instead of https://localhost:44338/health-status
, because this is exactly what I have defined in the appconfig.json file. I didn't change the config (except the connection string to a database). Am I missing any sort of configuration for Raider/Visual Studio???
[16:40:55 ERR] GetHealthReport threw an exception when trying to get report from http://WORKSTATION0912/health-status configured with name _3M Health Status.
System.Net.Http.HttpRequestException: No connection could be made because the target machine actively refused it. (workstation0912:80)
---> System.Net.Sockets.SocketException (10061): No connection could be made because the target machine actively refused it.
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|281_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.HttpConnectionWaiter`1.WaitForConnectionAsync(Boolean async, CancellationToken requestCancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.<SendAsync>g__Core|5_0(HttpRequestMessage request, CancellationToken cancellationToken)
at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendAsync>g__Core|5_0(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at HealthChecks.UI.Core.HostedService.HealthCheckReportCollector.GetHealthReportAsync(HealthCheckConfiguration configuration) in /_/src/HealthChecks.UI/Core/HostedService/HealthCheckReportCollector.cs:line 122
[16:40:55 DBG] HealthReportCollector - health report execution history saved.
[16:40:55 DBG] Creating a new HealthReport history.
[16:40:55 DBG] HealthReportCollector has completed.
[16:40:55 DBG] HealthCheck collector HostedService executed successfully.
[16:41:05 DBG] Executing HealthCheck collector HostedService.
[16:41:05 INF] Start processing HTTP request GET http://workstation0912/health-status
[16:41:05 INF] Sending HTTP request GET http://workstation0912/health-status
[16:41:17 ERR] GetHealthReport threw an exception when trying to get report from http://WORKSTATION0912/health-status configured with name _3M Health Status.
System.Net.Http.HttpRequestException: No connection could be made because the target machine actively refused it. (workstation0912:80)
---> System.Net.Sockets.SocketException (10061): No connection could be made because the target machine actively refused it.
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|281_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.HttpConnectionWaiter`1.WaitForConnectionAsync(Boolean async, CancellationToken requestCancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.<SendAsync>g__Core|5_0(HttpRequestMessage request, CancellationToken cancellationToken)
at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.<SendAsync>g__Core|5_0(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsC
Steps to reproduce:
appsettings.json
file in the 'xxx.HttpApi.Host' (backend) project.Program.cs
like this:var builder = WebApplication.CreateBuilder(args);
builder.Host
.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.AddApplicationAsync<_3MHttpApiHostModule>();
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();
app.UseSentryTracing();
return 0;
etc/build/build-images-locally.ps1
etc/docker/run-docker.ps1
Another question:
The official documentation from Sentry suggests using builder.WebHost.UseSentry();
construction. However, the ABP code does not use WebHost
. Is there a workaround for that?
Please advise.
We have updated ABP Suite 6.0.1 to 7.1.1 (the latest one). It seems that the backend part works fine, but the frontend got broken and shows multiple errors during the build for production (npm run build:prod)
Here's the full stack trace:
npm run build:prod
> _3M@0.0.0 build:prod
> ng build --configuration production
✔ Browser application bundle generation complete.
Warning: D:/_Sources/3Motion/_3M/angular/src/environments/environment.prod.ts is part of the TypeScript compilation but it's unused.
Add only entry points to the 'files' or 'include' properties in your tsconfig.
./src/main.ts - Error: Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
Error: Transform failed with 1 error:
D:/_Sources/3Motion/_3M/angular/src/app/dashboard/tenant-dashboard/tenant-dashboard.component.scss:64:84: ERROR: Unterminated string token
./src/polyfills.ts - Error: Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js):
Error: Transform failed with 1 error:
D:/_Sources/3Motion/_3M/angular/src/app/dashboard/tenant-dashboard/tenant-dashboard.component.scss:64:84: ERROR: Unterminated string token
./node_modules/css-loader/dist/runtime/api.js - Error: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\api.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/css-loader/dist/runtime/noSourceMaps.js - Error: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@fortawesome/fontawesome-free/css/all.min.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@fortawesome/fontawesome-free/css/v4-shims.min.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@swimlane/ngx-datatable/assets/icons.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@swimlane/ngx-datatable/index.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@swimlane/ngx-datatable/themes/material.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/abp.ng.theme.lepton-x/assets/css/abp-bundle.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/abp.ng.theme.lepton-x/assets/css/abp-bundle.rtl.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/bootstrap-dark.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/bootstrap-dark.rtl.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/bootstrap-dim.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/bootstrap-dim.rtl.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/bootstrap-light.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/bootstrap-light.rtl.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/dark.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/dark.rtl.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/dim.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/dim.rtl.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/font-bundle.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/font-bundle.rtl.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/light.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/light.rtl.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/ng-bundle.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/ng-bundle.rtl.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/side-menu/layout-bundle.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/@volosoft/ngx-lepton-x/assets/css/side-menu/layout-bundle.rtl.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/bootstrap-icons/font/bootstrap-icons.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./node_modules/ng-zorro-antd/tree/style/index.min.css?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
./src/styles.scss?ngGlobalStyle - Error: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
HookWebpackError: Module build failed (from ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js):
BrowserslistError: [BABEL] D:\_Sources\3Motion\_3M\angular\node_modules\css-loader\dist\runtime\noSourceMaps.js: Unknown version 112 of chrome (While processing: "base$0$0")
Please advise.
We have a tiered app/solution generated with ABP Suite. We're looking to add Hangfire support to this solution. Following the documentation that describes the steps (https://docs.abp.io/en/abp/latest/Background-Jobs-Hangfire), we were able to install the package with ABP CLI, as suggested. My understanding is that we don't need to do anything extra. When we run the solution it fails at runtime with the following error:
Volo.Abp.AbpInitializationException
HResult=0x80131500
Message=An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor phase of the module Volo.Abp.Hangfire.AbpHangfireModule, Volo.Abp.HangFire, Version=6.0.1.0, Culture=neutral, PublicKeyToken=null: An exception was thrown while activating λ:Volo.Abp.Hangfire.AbpHangfireBackgroundJobServer -> λ:Hangfire.JobStorage.. See the inner exception for details.
Source=Volo.Abp.Core
StackTrace:
at Volo.Abp.Modularity.ModuleManager.<InitializeModulesAsync>d__4.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Volo.Abp.AbpApplicationBase.<InitializeModulesAsync>d__19.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Volo.Abp.AbpApplicationWithInternalServiceProvider.<InitializeAsync>d__7.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at _3M.DbMigrator.DbMigratorHostedService.<StartAsync>d__3.MoveNext() in D:\_Sources\MyAbilities\3Motion\_3M\aspnet-core\src\_3M.DbMigrator\DbMigratorHostedService.cs:line 32
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()
at Microsoft.Extensions.Hosting.Internal.Host.<StartAsync>d__12.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.<RunAsync>d__4.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.<RunAsync>d__4.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at _3M.DbMigrator.Program.<Main>d__0.MoveNext() in D:\_Sources\MyAbilities\3Motion\_3M\aspnet-core\src\_3M.DbMigrator\Program.cs:line 28
This exception was originally thrown at this call stack:
[External Code]
Inner Exception 1:
DependencyResolutionException: An exception was thrown while activating λ:Volo.Abp.Hangfire.AbpHangfireBackgroundJobServer -> λ:Hangfire.JobStorage.
Inner Exception 2:
InvalidOperationException: JobStorage.Current property value has not been initialized. You must set it before using Hangfire Client or Server API.
Steps to reproduce:
Questions:
We're looking to create a proper reporting solution on top of a tiered ABP template/application. We're not interested in searching/evaluating reporting components per se at this stage, but rather we're looking for a general approach to organizing reporting. Here are some inputs/given:
We need to build some simple tenant-specific reports. Let's take the "file upload" functionality as a hypothetical example. Tenants need to know how many files they have uploaded daily/monthly/annually, etc. In this case, reporting is not a big deal as we can query this data from the tenant's database context. Reporting becomes a problem when we have hundreds of tenants with their own/dedicated database, and we (as a service provider) need to gather aggregated data from all those tenants (and display it on the back-office site). What's the recommended approach in this case? Creating a Data Warehouse? Also, querying against the live transactional DB is not a good idea, given that report generation may spoil the user experience and affect the app's performance. For this matter, a read-only replica for reporting solution would be a better idea, but it doesn't help much with many tenants who have a dedicated database. What's ABP's recommendation here?