Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

windows azure websites session states

I want to know how windows azure websites manage it's session states across multiple instances. There's a lot of content on Internet about how to share session states on multiple instances using cloud services, but for websites I couldn't find a final answer.

The question How does windows azure websites handle session? has not an objective answer yet. The accepted best answer has a good suggestion, but you have to watch a video that has more than 1 hour.

Do you know how to do it? Can I just use InProc session state and windows azure will manage it across all instances automatically?

Thank you.

like image 600
Diogo Arenhart Avatar asked Jan 24 '13 13:01

Diogo Arenhart


2 Answers

Looks like the options are:

  • Windows Azure Cache Service[1]. This is the new caching service that Microsoft is offering. Pricing starts from $12.50/month for 128MB of cache (this is preview pricing with 50% discount). According to [2] the latency for accessing the cache is around 1ms.

  • SQL Azure Accordign to Angshuman Nayak [3] relatively cheap, especially if you are already using SQL Azure for something else. As drawback he mentions potential performance issues, as you are normally using shared database. You also need to take care of cleaning up experired sessions.

  • Table Storage Angshuman [3] also provides some instructions on how to use the table storage to store sessions. He also mentions that the performance is not as good as with other solutions, but does not provide any numbers on this. The good thing in table storage is the pricing. Since it is pay-as-you-go there's not fixed monthly fee.

Based on this is seems to be that the Azure Cache Service is the way to go, unless the price is an issue.

[1] http://www.windowsazure.com/en-us/pricing/details/cache/

[2] http://weblogs.asp.net/scottgu/archive/2013/09/03/windows-azure-new-distributed-dedicated-high-performance-cache-service-more-cool-improvements.aspx

[3] http://blogs.msdn.com/b/cie/archive/2013/05/17/session-state-management-in-windows-azure-web-roles.aspx

like image 54
Juha Palomäki Avatar answered Sep 27 '22 18:09

Juha Palomäki


InProc SessionState is not supported on Azure websites. You will have to use an external session state provider. This article shows external options and this article shows how to use SQL Azure as a session state provider.

like image 45
viperguynaz Avatar answered Sep 27 '22 19:09

viperguynaz