O objeto de sessão é nulo no aplicativo da web do asp.net MVC 4, uma vez implantado no IIS 7 (W 2008 R2)

Eu desenvolvi um aplicativo da Web ASP.NET MVC 4 (.net 4.5) que funciona bem no Visual Studio 2012. Após a implantação no IIS 7 no Windows Server 2008 R2, parece que o objeto HttpContext.Session dentro do meu controlador é nulo. Eu criei um aplicativo ASP.NET MVC 4 de teste simples para demonstrar o problema.

No meu aplicativo de teste eu tenho um simples Home Controller

public class HomeController : Controller
{
    public ActionResult Index()
    {
          if ( HttpContext != null && HttpContext.Session != null )
          {
              HttpContext.Session[ "test" ] = "a string in session state";
              ViewBag.Info = HttpContext.Session[ "test" ];
              return View();
          }
          else
          {
              if ( HttpContext == null )
              {
                  ViewBag.Info = "beeeeuuuuu - HttpContext = null!!!";
              }
              else if ( HttpContext.Session == null )
              {
                    ViewBag.Info = "beeeeuuuuu - Session = null!!!";
              }
              return View();
          }

    }
}

Minha visão Index.chtml parece algo como isto:

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
This is a simple test
<p>@ViewBag.Info</p>

Então, quando eu executo o aplicativo, recebo o que eu esperava:

Index
This is a simple test 
a string in session state

Mas depois de implantar o aplicativo no servidor da Web, o site me fornece a seguinte página indicando que o objeto Session é nulo:

Index
This is a simple test 
beeeeuuuuu - Session = null!!!

O aplicativo da Web é implantado no site padrão que é executado no pool de aplicativos do ASP.NET v4.0 (pipeline integrado).

Eu já reinstala o ASP.NET no servidor usando aspnet_regiis -ir, mas isso não ajudou. O estado da sessão é ativado (em proc) no servidor ISS. Espero que alguém possa me ajudar aqui porque estou tentando resolver isso há algum tempo.

Muito obrigado antecipadamente e cumprimentos.

ATUALIZAÇÃO: Eu também testei uma compilação ASP.NET MVC 4 com o .NET 4.0 em vez de 4.5 e que tem o mesmo problema. Eu também implantei um aplicativo ASP.NET Web Pages (.NET 4.0) e funciona bem (O HttpContext.Current.Session não é nulo no código por trás).

UPDATE II: Eu também tentei armazenar o estado da sessão em um banco de dados, que funcionou bem na minha máquina de desenvolvimento, mas teve o mesmo problema no servidor de produção (HttpContext.Session ainda retorna null).

questionAnswers(1)

yourAnswerToTheQuestion