Menu

No ‘quemes’ strings en tus variables de sesión!

junio 23, 2013 - ASP.NET

Hace poco tiempo estaba creando una aplicación web y me encontré con la necesidad de cambiarle el nombre de una variable de sesión que he utilizado a lo largo de esta.

El rollo no fue gran cosa utilizando la función de Remplazar en archivos (CTRL + SHIFT + F) pero me hizo pensar en que muchos de los desarrolladores ‘Hardcodeamos’ el nombre de las variables que utilizamos, llámense variables de sesión, de aplicación, de cache, QueryStrings, etc.

para solventar este problema primero trate de utilizar una enumeración dado que las variables de cache, sesión y otras mas son zero index-based asi que una enumeración seria perfecta, sin embargo, me di cuenta que esta solución no serviría con los QueryStrings dado que como su nombre lo dice funciona con strings y desafortunadamente los Enums no soportan strings de manera nativa (Se puede pero con triquiñuelas). Así que lo solucione con una clase con constantes que simplemente tiene el nombre de las variabes. En vez de simplemente escribir el nombre de la variable utilizaria una clase que tuviera el nombre, asi la próxima vez que necesitara cambiar de nombre de variable no tendria que pensar en usar el CTRL + SHIFT + F.

Esta es la clase que tendría los nombres de las variables:

public class SessionVars
{
   public const string UserIdCode = "UserIdCode";
}

Y así se utilizaría:

Session[SessionVars.UserIdCode] = 769;
Label1.Text = Session[SessionVars.UserIdCode].ToString();

Espero les sea de utilidad tanto como a mí. Happy coding! Sonrisa

2 pensamientos sobre “No ‘quemes’ strings en tus variables de sesión!

Javier

Hola! muchas gracias! muy útil.
Me encantan los trucos que tienes publicados.
Una buena cosa sería también ponerle Static a la clase SessionVars de esa forma te evitarías tener que andar creando instancias.
Saludos.

Respuesta
Proco

Muchas gracias javier por tu comentario, no he podido dedicarle el tiempo que quisiera al blog porque estoy haciendo un posgrado y por cuestiones de tiempo me veo limitado… Pero apenas pueda sigo publicando!

Respuesta

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *