THEX3T4R adlı üyeden alıntı: mesajı görüntüle
Kodunuzda Session Durumunu kapatmış olabilirsiniz.
<system.web>
  <sessionState mode="Off" ></sessionState>
</system.web>
yada
<system.web>
  <sessionState mode="InProc" ></sessionState>
</system.web>
Yok ise ;
<configuration>
<system.web>
<sessionState mode="InProc" timeout="60" />
</system.web>
</configuration>
<system.web>
<sessionState timeout="20"></sessionState>
</system.web>
Denermisiniz.
ikiside iş görecektir
Bunlar çalışmaz ise sunucu yöneticisi ile iletişime gecin.
Sunucu bazlı bir ayarlama yapılmıştır.
Ek olarak böyle bir yöntem edine bilirsin.
Session SQL tarafında tutabilirsin.(Uzun süreli ve yüksek kullanıcılı web siteler için önermiyorum)
<sessionState mode="SQLServer" sqlConnectionString="data source=127.0.0.1;user id=<kullanıcıadı>;password=<güçlüparola>" cookieless="false" timeout="20" />
<system.web>
  <sessionState mode="WebConfigdeki sql string adı" timeout="30">
  </sessionState>
</system.web>

sql session hariç üsttekileri denedim sonuç aynı.
HttpContext.Current.Session["IsAuthenticated"] = true
bu değer static bir class da tutmama rağmen 10 saniye içerisinde uçuyor ve tekrar belirtiyorum bu sadece hostingde bu şekilde localimde ve diğer IIS'lerde problem yok. hosting firması bizle ilgili değil diyor