title: Current recommendation for enabling session in Azure Websites for Session variables and TempData?
body: <p>I have a  MVC3, ASP.NET 4.5 web application deployed on Azure Websites, using SQL Azure.</p>
  
  <p>Currently I am using some "inproc" Session variables which I need to remove since I am going to start using multi website instances. I could just store the Session variable values in the SQL Azure DB, but I am also using TempData, which also uses Session state, "under the bonnet". Due to TempData use, I do need to implement an "out of proc" session solution.</p>
  
  <p>I have seen some recommendation for using AppFabric caching, but I am unsure whether this is still current, and whether it is correct for Azure websites.</p>
  
  <p>Also my development setup is on a Windows 7 machine with SQL Server 2008 R2. So a solution should be transferable with minimum pain.</p>
  
  <p>There is also a "thread agility" issue with session variables, and a open source solution has been created using REDIS caching, but I have no experience of this, or REDIS. See: <a href="https://github.com/angieslist/AL-Redis" rel="nofollow">GitHub site</a></p>
  
  <p>So thoughts I have are:</p>
  
  <p>1) Angieslist/AL-redis custom provider, see: <a href="https://github.com/angieslist/AL-Redis" rel="nofollow">GITHUB link</a> . Not entirely sure that this can be used in a Azure Websites application.</p>
  
  <p>2) Appfabric. Not sure if this is relevant or current for Azure Websites.</p>
  
  <p>3) SQL Azure session provider.</p>
  
  <p>4) Azure Table storage.</p>
  
  <p>5) Use a custome TempData provider to persist via cookies ie <a href="https://www.nuget.org/packages/BrockAllen.CookieTempData.dll/1.2.2" rel="nofollow">https://www.nuget.org/packages/BrockAllen.CookieTempData.dll/1.2.2</a>, and then remove other session variables.</p>
  
  <p>I would be very grateful for advice on a good Azure Websites session implementation mechanism which is simple. My data is pretty simple. I think I have one object which I quess I will need to serialize, probably via Json.NET</p>