A_____
A_____

Reputation: 362

Azure web app session and ARR

I have a MVC application deployed to Azure Web app.The web app required to scale out in multiple instances. I want to use Session object (ASP.NET) to store some user data etc.(lightweight), so that can be retrieved quickly.I believe, session will be In-Proc with ARR ON setting.

I've the following questions

  1. Is it ok to use session object in Azure web apps ,will it give guarantee to use same In-Proc session if ARR is on.

  2. If ARR turned off ,Should I use session object?

  3. Because using Session itself makes application slow,what are the other alternatives to store small data within Azure webapp/MVC(once authenticated user profile related data) for quick access in application?

Upvotes: 1

Views: 3520

Answers (1)

Kaushal Kumar Panday
Kaushal Kumar Panday

Reputation: 2467

Using IN-PROC sessions in the cloud is a strict no. The reason to host to cloud is to have high availability which is done by having a distributed environment.

To answer your question, the ARR-Affinity cookie will affinitize the client requests to a specific instance. However, if the Process restarts or App-Domain recycles, then all the sessions will be lost. This is one of the primary reasons why Out-Proc session state management is suggested.

I would recommend against using In-Proc session state in any cloud scenario. I understand speed is a concern for you. For this consider using Redis Cache. Refer the documentation here: https://learn.microsoft.com/en-us/azure/redis-cache/cache-aspnet-session-state-provider

HTH

Upvotes: 3

Related Questions