protected void Session_Start()
{
if (Context.Session != null)
{
if (Context.Session.IsNewSession)
{
string sCookieHeader = Request.Headers["Cookie"];
if ((null != sCookieHeader) && (sCookieHeader.IndexOf("ASP.NET_SessionId") >= 0))
{
//intercept current route
HttpContextBase currentContext = new HttpContextWrapper(HttpContext.Current);
RouteData routeData = RouteTable.Routes.GetRouteData(currentContext);
Response.Redirect("~/Home/SessionTimeout");
Response.Flush();
Response.End();
}
}
}
//set session culture using DefaultCulture key
IoCFactory.Container.StartSessionLevelContainer();
Session.ApplyCulture(AppConfiguration.DefaultCulture);
ITenantResolver tenantResolver = IoCFactory.Container.Resolve<ITenantResolver>();
Tenant tenant = tenantResolver.Resolve(this.Request);
this.Session.SetTenant(tenant);
}