2010-05-15 11 views
5

Chcę zmniejszyć odświeżenie strony na jednej z moich stron aplikacji i zamiast tego użyć ajax. Użyłem WebMethod, aby to zrobić. Mam statyczny WebMethod, który musi uzyskać dostęp do zmiennych sesji i modyfikować. i po stronie klienta wywołuję tę metodę za pomocą jQuery. Próbowałem dostępu sesję następująco:Najlepsza praktyka podczas korzystania z WebMethods i sesji

[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!"); 
    } 

Wartości są wyświetlane poprawnie i wydaje się działać .. ale chciałbym wiedzieć, czy taka praktyka jest dozwolona jako metoda jest statycznej metody i chcieliby wiedzieć, w jaki sposób Zachowa się, jeśli wiele osób uzyska dostęp do aplikacji.

Chciałbym również wiedzieć, jak programiści wykonują tego rodzaju zadania w ASP, jeśli nie jest to właściwa metoda.

Dzięki z góry za sugestie i pomysły,
Abdel Olakara

Odpowiedz

4

metody statyczne są całkowicie bezpieczne w użyciu. Problem występujący u niektórych osób przy udostępnianiu pól dla żądań występuje tylko ze statycznymi polami, ponieważ są one rzeczywiście udostępniane w ramach tego samego procesu.

Myślę, że twoja metoda jest dobrym sposobem na zrobienie tego. Właśnie do tego służą metody sieciowe.

+0

dzięki za odpowiedź .. pozwala zobaczyć, co inni mają do powiedzenia na ten temat –

Powiązane problemy