/// <summary> /// GESTIONE DELLA SESSIONE: /// ----------------------------------------------------------------------------- /// sia il tool di amministrazione sia Docspa si trovano sotto lo stesso progetto /// quindi hanno in comune il presente Global.asax . /// /// Esiste una sessione denominata "AppWA" che all'accesso del tool di amm.ne /// viene impostata a "ADMIN"; all'accesso di Docspa viene impostata a "DOCSPA". /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Session_End(object sender, EventArgs e) { try { // Reperimento infoutente dalla sessione var infoUtente = UserManager.getInfoUtente(Session); if (infoUtente != null) { if (infoUtente.delegato != null) { if (DelegheManager.DismettiDelega(infoUtente)) { infoUtente = infoUtente.delegato; } } } var appKey = string.Empty; if (Session["AppWA"] != null) { appKey = Session["AppWA"].ToString(); } if (string.IsNullOrEmpty(appKey)) { return; } switch (appKey) { case "DOCSPA": UserManager.logoff(infoUtente, Session.SessionID); break; case "ADMIN": var userdata = new SessionManager().getUserAmmSession(); if (userdata != null) { UserManager.logoffAdmin(userdata); } break; default: UserManager.logoff(Session); break; } } catch (Exception ex) { _logger.Error(ex.Message); _logger.ErrorFormat("Stacktrace :\r\n{0}", ex.StackTrace); if (ex.InnerException != null) { _logger.Error(ex.InnerException.Message); _logger.ErrorFormat("Stacktrace :\r\n{0}", ex.InnerException.StackTrace); } } }