Obiekt Session ma wartość null w aplikacji sieciowej ASP.NET MVC 4 po wdrożeniu w IIS 7 (W 2008 R2)

Opracowałem aplikację internetową ASP.NET MVC 4 (.net 4.5), która działa poprawnie w Visual Studio 2012. Po wdrożeniu do IIS 7 w systemie Windows Server 2008 R2 wygląda na to, że obiekt HttpContext.Session wewnątrz mojego kontrolera ma wartość NULL. Stworzyłem prostą aplikację testową ASP.NET MVC 4, aby zademonstrować ten problem.

W mojej aplikacji testowej mam prosty kontroler domowy

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();
          }

    }
}

Widok My Index.chtml wygląda mniej więcej tak:

@{
    ViewBag.Title = "Index";
}

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

Więc kiedy uruchomię aplikację, otrzymuję to, czego oczekiwałem:

Index
This is a simple test 
a string in session state

Ale po wdrożeniu aplikacji na serwerze WWW strona daje mi następującą stronę wskazującą, że obiekt Session jest pusty:

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

Aplikacja internetowa jest wdrażana na domyślnej stronie internetowej, która działa w puli aplikacji ASP.NET v4.0 (zintegrowany potok).

Ponownie zainstalowałem ASP.NET na serwerze za pomocą aspnet_regiis -ir, ale to nie pomogło. Stan sesji jest włączony (In Proc) na serwerze ISS. Mam nadzieję, że każdy może mi pomóc tutaj, ponieważ próbuję rozwiązać ten problem przez jakiś czas.

Z góry dziękuję i pozdrawiam.

AKTUALIZACJA: Przetestowałem również kompilację ASP.NET MVC 4 z .NET 4.0 zamiast 4.5 i ma ten sam problem. Wdrożono również aplikację ASP.NET Web Pages (.NET 4.0), która działa dobrze (HttpContext.Current.Session nie ma wartości null w kodzie za).

UPDATE II: Próbowałem również przechowywać stan sesji w bazie danych, która działała dobrze na moim komputerze programistycznym, ale miała ten sam problem na serwerze produkcyjnym (HttpContext.Session nadal zwraca wartość null).

questionAnswers(1)

yourAnswerToTheQuestion