¿cómo puedo obtener ID de todas las sesiones actuales?obtener ID de sesión en ASP.Net
Respuesta
La respuesta depende parcialmente de dónde almacene el estado de la sesión. Suponiendo que usa el valor predeterminado (inproc), puede mantener una lista de identificadores de sesión actuales usando los eventos Session_Start
y Session_End
en global.asax.
Puede usar el archivo Global.asax
y configurar la sesión en el evento Session_Start
. Sigue a continuación
en Global.asax
archivo que puede hacer algo como esto:
protected void Session_Start(object sender, EventArgs e)
{
Session["sid"] = Session.SessionID;
Session["sid"] = "Test";
}
Luego, en el formulario Web puede obtener el ID de sesión y valor, como a continuación
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Session ID is:" + Session.SessionID.ToString()+ "<br/>");
Response.Write("Session value is:" + Session["sid"].ToString());
}
Para más detalles, véase http://www.dotnetcurry.com/ShowArticle.aspx?ID=126
Si está almacenando su estado de sesión en SQL Server, también puede obtenerlo fácilmente desde allí.
Según Dino Esposito cada sesión se almacena en caché de la aplicación y con un poco de trabajo que seguir para recuperar esta información:
DataTable dt = new DataTable();
dt.Columns.Add("SessionID", typeof(string));
foreach(DictionaryEntry elem in Cache) {
string s = elem.Key.ToString();
if (s.StartsWith("System.Web.SessionState.SessionStateItem")) {
DataRow row = dt.NewRow();
char[] parms = {':'};
string[] a = s.Split(parms);
row["SessionID"] = a[1];
dt.Rows.Add(row);
}
}
Para obtener el identificador de sesión, haga lo siguiente:
// In a user control or page
string sessionId = this.Session.SessionID;
// In a normal class, running in a asp.net app.
string sessionId = System.Web.HttpContext.Current.Session.SessionID;
Usted debe no es necesario:
- Hacer cualquier tabla de datos o bucle nada
- Usar servidor SQL para el estado de sesión
- manija Session_Start o Session_End
En un escenario sin cookies, el identificador de sesión se crea cuando se accede al objeto de sesión por primera vez. Esto no debería importar mucho, porque en el momento en que accede a la propiedad SessionID, se accede al objeto de sesión.
Para obtener más información, ver en esto:
http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.sessionid.aspx
Nota: Los ejemplos de MSDN haber sido escrito por los monos.
Si desea una forma de almacenar una lista de las sesiones actuales en las que controla la tienda de respaldo, para que pueda almacenar datos adicionales sobre el cliente, puede usar una lista. (Estoy escribiendo el siguiente ejemplo de la parte superior de la cabeza)
gancho en Application_SessionStart en el archivo global.asax.cs:
static List<string> sessions = new List<string>();
static object sessionLock = new object();
void Application_SessionStart()
{
lock (sessionLock) {
sessions.Add(Session.SessionID);
}
}
void Application_SessionEnd()
{
lock (sessionLock) {
sessions.Remove(Session.SessionID);
}
}
Como alternativa, se puede usar un diccionario, que almacena el identificador de sesión como clave, y datos adicionales sobre ese usuario como el valor. A continuación, puede crear fácilmente una página que muestre todas las sesiones de usuario actuales, por ejemplo, para que un sitio de administración muestre las sesiones de usuario actuales.
SessionEnd solo se ejecutará si sus sesiones son InProc.
- 1. ASP.Net: Si tengo la ID de sesión, ¿puedo obtener el objeto de sesión?
- 2. Cómo matar una sesión o ID de sesión (ASP.NET/C#)
- 3. Obtiene el objeto de sesión del ID de sesión en ASP.Net
- 4. ¿Cómo puedo obtener ID de sesión en java
- 5. Cómo obtener asp.net Valor de sesión en el método jquery?
- 6. httpservletrequest - crear nueva sesión/cambiar sesión Id
- 7. No se puede obtener la sesión en webmethod en asp.net
- 8. CSRF Ficha de validación: id de sesión segura?
- 9. Cómo mantener el mismo ID de sesión en varias aplicaciones web en ASP.NET
- 10. almacenar ID de usuario en la sesión
- 11. ¿Puedo poner una ID de sesión de ASP.Net en un campo de formulario oculto?
- 12. Recuperar ID de sesión con Spring Security
- 13. Fijación de Sesión en ASP.NET
- 14. sesión de ASP.NET en Global.asax
- 15. Protección de secuestro de sesión en ASP.NET
- 16. ASP.NET MVC Obtener ID del último registro agregado
- 17. ASP.NET MultiView por ID?
- 18. Encontrar el ID de la sesión en raíles 3
- 19. Fluido NHibernate obtener ID del objeto guardado
- 20. ¿Convención de nomenclatura de ID en ASP.NET?
- 21. En ASP.Net, ¿puedo averiguar si existe otra sesión o si es válida por una Id de sesión?
- 22. Abrir una nueva ventana del navegador con una nueva ID de sesión en ASP.NET
- 23. Borrando una sesión en ASP.NET
- 24. Leer ID de sesión usando Javascript
- 25. ¿Cuál es el tamaño de una ID de sesión de ASP.NET 3.5?
- 26. obtener o sesión?
- 27. Tiempo de espera de sesión en ASP.NET
- 28. variables de sesión de asp.net en Session_End
- 29. Asp.Net MVC y sesión
- 30. Obtener MembershipUser en ASP.NET MVC
se aplica a *** asp.net 4.5.1 ***? –