Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using dim.rutinas;
- namespace WebProveedoresNet.Cs
- {
- [Serializable]
- public class ValidaSesion
- {
- ClsLog log = new ClsLog();
- public void registrarSesion(HttpContext contexto, string nombreusuario)
- {
- TimeSpan TimeOut = new TimeSpan(0, 0, contexto.Session.Timeout, 0, 0);
- nombreusuario = nombreusuario.Trim();
- if (contexto.Cache[nombreusuario] == null) //valida si la sesión esta libre.
- contexto.Cache.Insert(nombreusuario,
- contexto.Session.SessionID,
- null,
- DateTime.Now.AddMinutes(contexto.Session.Timeout),
- System.Web.Caching.Cache.NoSlidingExpiration,
- System.Web.Caching.CacheItemPriority.NotRemovable,
- null);
- contexto.Session["nombreusuario"] = nombreusuario; //Guarda el nombre de usuario actual.
- }//Fin de funcion.
- public bool HayConcurrencia(HttpContext contexto)
- {
- bool result = false; //Por default se indica que solo hay una sesion concurrente.
- if (contexto.Session != null)
- {
- if (contexto.Session["nombreusuario"] != null)
- {
- string cacheKey = contexto.Session["nombreusuario"].ToString();
- result = ((string)contexto.Cache[cacheKey] != contexto.Session.SessionID);
- if (!result)
- {
- string user = (string)contexto.Cache[cacheKey]; //Esta linea resetea a cero el periodo de cache.
- }
- }
- }
- return result;
- }
- //Como ven el webmehtod hace referencia a otro metodo llamado EliminarRegistro, el cual es el siguiente:
- public void EliminarRegistro(HttpContext contexto)
- {
- if (contexto.Session["nombreusuario"] != null)
- contexto.Cache.Remove(contexto.Session["nombreusuario"].ToString());
- }//fin de funcion.
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement