2013-08-27 21 views

Odpowiedz

7

Są statyczne, ponieważ są całkowicie bezpaństwowe, nie tworzą instancji klasy strony i nic nie jest przekazywane do nich w żądaniu (tj. Wartość pola ViewState i wartość pola formularza).

Domyślnie HTTP jest bezstanowy, ASP.Net robi wiele rzeczy w tle z ViewState, Session itp. Podczas standardowego żądania strony, aby ułatwić życie programistom.

Gdy metoda sieciowa jest wywoływana przez AJAX, strona nie wysyła wszystkich niezbędnych danych formularza do osadzenia ASP.Net na stronie, aby śledzić stan żądania, ponieważ spowodowałby zbyt wolne metody sieci; i jeśli potrzebujesz dużo przetwarzania, powinieneś przenieść go do dedykowanej usługi internetowej.

Możesz uzyskać dostęp do metod na stronie przy użyciu HttpContext.CurrentHandler, który jest objaśniony bardziej szczegółowo here, a także bieżący użytkownik, jeśli potrzebujesz go przez HttpContext.Current.User.

Istnieje doskonały artykuł o szczegółowym wyjaśnieniu tego artykułu pod numerem here.

+2

Zmieszany. Dlaczego metody webowe na tej stronie [page] (https://msdn.microsoft.com/en-us/library/byxd99hx%28v=vs.90%29.aspx) są niestatyczne? – Moon

+2

Ponieważ jest hostowany w serwisie WWW, a nie na stronie internetowej. – Sean

Powiązane problemy