Activities of "magnus.bredeli@apx-systems.com"

Thank you for clarifying this :)

I see, thank you for answering.

We noticed in our application that it loads the page pretty quickly first, but non-interactive, then after some seconds, loads the application WebAssembly which is interactive. This is, as far as I've understood, the pre-rendering showing a non-interactive server-side rendered version of the page as a placeholder while the client application is loading.

Is there a way to skip the step of fetching everything twice, first on the server and then on the client? Users mistake the prerendered page to be a broken page that is not working. We are currently doing all loading of data in the OnInitializedAsync lifecycle method.

Also, is it very complex to convert form an ABP Blazor WebApp to ABP Blazor WASM, and do you have any guide for doing so?

Hello!

I created a brand new Blazor WebApp application using ABP Studio. By default, the rendermode in App.razor is set to @rendermode="InteractiveAuto". However, I want to use this rendermode instead @rendermode="new InteractiveWebAssemblyRenderMode(prerender: false)". After doing the change in App.razor I am not able to run run the application without getting an error when browsing the page (https://localhost:44301/).

  • Exception message and full stack trace:
blazor.web.js:1 ManagedError: One or more errors occurred. (An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor phase of the module Volo.Abp.AspNetCore.Components.WebAssembly.AbpAspNetCoreComponentsWebAssemblyModule, Volo.Abp.AspNetCore.Components.WebAssembly, Version=9.1.1.0, Culture=neutral, PublicKeyToken=null: Could not find 'abp.utils.removeOidcUser' ('abp' was undefined).
Error: Could not find 'abp.utils.removeOidcUser' ('abp' was undefined).
    at blazor.web.js:1:384
    at Array.forEach (<anonymous>)
    at l.findFunction (blazor.web.js:1:352)
    at _ (blazor.web.js:1:5101)
    at blazor.web.js:1:2894
    at new Promise (<anonymous>)
    at w.beginInvokeJSFromDotNet (blazor.web.js:1:2857)
    at Object.jr [as invokeJSJson] (blazor.web.js:1:165356)
    at invoke-js.ts:319:31
    at Fc (:44301/_framework/do…eption for details.)
    at blazor.web.js:1:384
    at Array.forEach (<anonymous>)
    at l.findFunction (blazor.web.js:1:352)
    at _ (blazor.web.js:1:5101)
    at blazor.web.js:1:2894
    at new Promise (<anonymous>)
    at w.beginInvokeJSFromDotNet (blazor.web.js:1:2857)
    at Object.jr [as invokeJSJson] (blazor.web.js:1:165356)
    at invoke-js.ts:319:31
    at Fc (:44301/_framework/do…eption for details.)
    at an (marshal-to-js.ts:420:18)
    at Kt.resolve_or_reject (marshal-to-js.ts:315:28)
    at marshal-to-js.ts:363:16
    at marshal-to-js.ts:341:48
    at fr (invoke-js.ts:523:9)
    at Fc (marshal-to-js.ts:341:5)
    at 00b5b776:0x1f1a4
    at 00b5b776:0x1c8ae
    at 00b5b776:0xea19
    at 00b5b776:0x1ec88
callEntryPoint	@	blazor.web.js:1
await in callEntryPoint		
Hr	@	blazor.web.js:1
await in Hr		
Fr	@	blazor.web.js:1
startWebAssemblyIfNotStarted	@	blazor.web.js:1
resolveRendererIdForDescriptor	@	blazor.web.js:1
determinePendingOperation	@	blazor.web.js:1
refreshRootComponents	@	blazor.web.js:1
(anonymous)	@	blazor.web.js:1
setTimeout		
rootComponentsMayRequireRefresh	@	blazor.web.js:1
onDocumentUpdated	@	blazor.web.js:1
Hi	@	blazor.web.js:1
  • Steps to reproduce the issue:
  1. Create new Blazor WebApp project using ABP Studio with the same configuration:
  • Template: app
  • Created ABP Studio Version: 0.9.26
  • Current ABP Studio Version: 0.9.26
  • Tiered: No
  • Multi-Tenancy: Yes
  • UI Framework: blazor-webapp
  • Theme: leptonx
  • Theme Style: system
  • Theme Menu Placement: side
  • Run Install Libs: Yes
  • Database Provider: ef
  • Database Management System: sqlserver
  • Separate Tenant Schema: No
  • Create Initial Migration: Yes
  • Run Db Migrator: Yes
  • Mobile Framework: none
  • Public Website: No
  • Social Login: Yes
  • Include Tests: Yes
  • Kubernetes Configuration: Yes
  • Distributed Event Bus: none
  • Use Local References: No
  • Optional Modules:
    • GDPR
    • TextTemplateManagement
    • LanguageManagement
    • AuditLogging
    • OpenIddictAdmin
  • Create Command: abp new AbpSolution1Test -t app --ui-framework blazor-webapp --database-provider ef --database-management-system sqlserver --theme leptonx --without-cms-kit --dont-run-bundling -no-file-management
  1. Change from @rendermode="InteractiveAuto" to @rendermode="new InteractiveWebAssemblyRenderMode(prerender: false)" in App.razor

Alright great, thanks!

Great, thanks for the quick response!

May I ask where I access the Openiddict Application page? Is it available at a spesific endpoint of the hosted auth server?

Hello!

We are currently using your OpenIdDict module in our AuthServer. I want to set the access token lifetime differently for my web application and app.

I see in you you can set the lifetime globally like this: (https://abp.io/docs/latest/modules/openiddict#setting-tokens-lifetime)

PreConfigure(builder =>
{
    builder.SetAuthorizationCodeLifetime(TimeSpan.FromMinutes(30));
    builder.SetAccessTokenLifetime(TimeSpan.FromMinutes(30));
    builder.SetIdentityTokenLifetime(TimeSpan.FromMinutes(30));
});

I found this issue: https://github.com/abpframework/abp/issues/16529

However, the post is two years old and I am wondering whether ABP's OpenIdDict module now offers a an out-of-the-box way to set access token lifetime differently per client?

Best regards, Magnus

Showing 1 to 6 of 6 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on December 17, 2025, 07:08
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.