Activities of "EngincanV"

Hi, from the error log, it seems it's not related to ABP. Can you please check this SO answer and try it to see if it works for you?

Best regards.

Thank you EngincanV so much, the configuration as you suggested "options.TokenCookie.SecurePolicy = CookieSecurePolicy.Always;" already help me fixed the issue. Thanks, Dharma

Great to hear that!

Would switching to RenderMode.InteractiveWebAssembly help ensure better persistence across mobile browsers?

Hi, I don't think it does. Because, when you use auto mode, it first connects via blazor server and then switches to wasm (when the DLLs are downloaded to the browser). So, you can keep InteractiveAuto unless you want strict WASM execution.

Could there be a conflict or redundancy with SignOutSessionStateManager in mobile browsers that affects session persistence?

Yes, this may conflict with session persistence in mobile browsers. Mobile browsers handle session storage differently as you said, possibly triggering unintended sign-outs. So, you can try to remove SignOutSessionStateManager and test if session persistence improves or not.

Is there any recommended approach for ensuring authentication token persistence in Blazor WebAssembly for mobile browsers specifically?

Would explicitly persisting the token in sessionStorage or localStorage on mobile browsers help mitigate this issue?

Storing the token in localStorage might be the best option, since it persists across tabs and restarts and there is no expiration.

Hi, here are the answers for your questions:

1-) Does the system natively support Redis Cluster Mode for distributed caching and event bus communication?

ABP's redis package (Volo.Abp.Caching.StackExchangeRedis) uses the Microsoft.Extensions.Caching.StackExchangeRedis package and it should support Redis Cluster as long as the proper connection string is provided for distributed caching.

For our event bus providers please see https://abp.io/docs/latest/framework/infrastructure/event-bus/distributed#providers

2-) Is any custom logic required for handling multiple Redis nodes?

If you're using a single Redis instance or Sentinel Mode, no custom logic is required as far as I know. However, if you're using Redis Cluster Mode, you should:

  • Ensure that the connection string includes all cluster nodes.
  • Set abortConnect=false to allow automatic failover handling.
  • Consider using a cluster-aware Redis library if advanced failover handling is needed.

3-) How does the system handle failover in case one of the Redis nodes becomes unavailable?

StackExchange.Redis will attempt to reconnect to available nodes automatically, but it does not natively support Redis Cluster failover in an optimal way.

If you're running in Redis Cluster Mode, you need to handle reconnections properly in your configuration to avoid interruptions in caching or event handling.

4-) Could you provide a sample configuration for integrating Redis in a multi-node Kubernetes environment?

Since this is not fully related to ABP, rather than it's related to Redis configuration, I don't have a sample configuration for that.

But, in your appsettings.json, a configuration like below should work:

"Redis": {
  "Configuration": "node1:6379,node2:6379,node3:6379,abortConnect=false"
}

Set abortConnect=false to allow automatic failover handling.

or you can configure RedisCacheOption in your module as below:

        Configure<RedisCacheOptions>(options =>
        {
            options.ConfigurationOptions = new ConfigurationOptions
            {
                EndPoints = { "node1:6379", "node2:6379", "node3:6379" },
                AbortOnConnectFail = false,
                ConnectRetry = 5
            };
        });

The new modules will continue being DDD layered.

Then why not provide a param in the add microservice command to use DDD layer solution or the new one which will be default while adding microservice?

The reason behind this is in your microservice solution, it's more beneficial to go with our standard module template, which provides 3 layers. This allows you to still separate your interfaces and their implementations into different projects and re-use them. For most of the cases, this is more maintainable and easy to start with.

If you go with our old microservice solution template, then there is no problem, you can still use the DDD layered services, but this is a new way that we suggest to start with.

Regards.

Hi, you are trying to deploy your application to IIS right? Please check our IIS Deployment document and see if it works for you.

Regards.

Thanks enisn, I'll work through these.

Thanks, we will be waiting for your reply.

Regards.

Hi, when you create a new ddd module template with new ABP Studio CLI (with abp new-module Acme.BookStore -t module:ddd -u angular command), then it gets the related template from Volo.Abp.Studio.Extensions.StandardSolutionTemplates NuGet package, so it's normal that the related file it's not same within the file in the link you shared.

Best regards.

Thank you four your quick response. When you say "update the MongoDbRepository" what do you mean? Could you provide an example?

Thanks again

Hi, for your generated entity there should be a MongoDB repository implementation, and in that class, there is an ApplyFilter method, you can update that method if you want to customize the sorting logic. But by default, we normally disable sorting for navigation properties, so it seems we forgot to do that for blazor-server side. We will check and fix it asap.

Regards.

Hi, can you try the following configuration and let me know if it works for you?

Configure<AbpAntiForgeryOptions>(options =>
{
    options.TokenCookie.SecurePolicy = CookieSecurePolicy.Always;
});
Showing 461 to 470 of 1371 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 November 04, 2025, 06:41