Hola, lo que pasa es que no podes hacer un Response.Redirect(""); desde el evento Session_End en el Global.asax.
Una solucion podria ser que verifiques la variable
Session["SesionActiva"] = "1";
en el page_load de cada pagina y veas si existe. Si no existe quiere decir que la session expiro y ahi redireccionas a la pagina que quieras,
ejemplo
//Clase Controladora de la session
Código PHP:
public class ManejaSession : System.Web.UI.Page
{
protected virtual void Page_Load(object sender, EventArgs e)
{
String activa = (String)Session["SesionActiva"] = "1";
if (activa == null)
{
Response.Redirect("Login.aspx");
}
}
}
//Pagina aspx
Código PHP:
//Sobreescribis el metodo page_load
public partial class Default : ManejaSession
{
protected override void Page_Load(object sender, EventArgs e)
{
base.Page_Load(sender, e);
}
}
Simplemente haces que tus paginas aspx hereden del manejador de session que verificara si esta activa o no la session.
Esta es una solución, capas encotras una mejor
espero que te sirva
Saludos!