2010-05-15 18 views
5

Quiero reducir la devolución de datos en una de las páginas de mi aplicación y usar ajax en su lugar. Usé el WebMethod para hacerlo ... Tengo un WebMethod estático que necesita acceder a las variables de la sesión y modificarlas. y en el lado del cliente, estoy llamando a este método usando jQuery. He intentado acceder a la sesión de la siguiente manera:Mejor práctica al utilizar WebMethods y la sesión

[WebMethod] 
    public static void TestWebMethod() 
    { 
     if (HttpContext.Current.Session["pitems"] != null) 
     { 
      log.Debug("Using the existing list"); 
      Product prod = (Product)HttpContext.Current.Session["pitems"]; 
      List<Configs> confs = cart.GetConfigs(); 
      foreach (Configs citem in confis) 
      { 
       log.Info(citem.Description); 
      } 


     } 
     log.Info("Inside the method!"); 
    } 

Los valores se muestran correctamente y parece que funciona .. pero me gustaría saber si se permite esta práctica como el método es un método estático y me gustaría saber cómo se comportará si varias personas acceden a la aplicación.

También me gustaría saber cómo los desarrolladores realizan este tipo de tareas en ASP si este no es el método correcto.

Gracias de antemano por sus sugerencias e ideas,
Abdel Olakara

Respuesta

4

métodos estáticos son completamente seguro de usar. El problema con el que se topan algunas personas con los campos que se comparten entre solicitudes solo se produce con los campos estáticos , ya que de hecho se comparten en el mismo proceso.

Creo que su método es una buena forma de solucionar esto. Esto es exactamente para lo que son los métodos web.

+0

gracias por su respuesta ... veamos lo que otros también tienen que decir sobre esto –

Cuestiones relacionadas