Warum WebMethod als Statisch deklariert?
Erklärte ich einer WebMethod in mein Standard.aspx.cs-Datei..
[WebMethod]
public static void ResetDate()
{
LoadCallHistory(TheNewDate.Date);
}
Warum muss das WebMethod-Methode als static deklariert?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie statisch, da Sie allein sind staatenlos, Sie nicht erstellen Sie eine Instanz Ihrer Seite ist Klasse und nichts übergeben wird, um Sie in der Anfrage (d.h. die ViewState-und Formular-Feld-Werte).
HTTP ist zustandslos standardmäßig ASP.Net tut eine Menge Sachen, die im hintergrund mit ViewState, Sitzung etc. bei einer standard-Seite anfordern, um das Leben leichter machen für Entwickler.
Wenn ein web-Methode aufgerufen, über AJAX, die Seite ist nicht senden alle notwendigen Daten in das Formular ASP.Net eingebettet in einer Seite zu verfolgen, Wunsch Zustand, weil es machen würde web-Methoden zu langsam ist; und wenn Sie brauchen, um eine Menge der Verarbeitung, die Sie bewegen sollte es sich um einen speziellen web-service statt.
Können Sie den Zugriff auf Methoden, die auf der Seite mit der HttpContext.CurrentHandler das genauer erklärt ist hier und auch der aktuelle Benutzer, wenn Sie es brauchen, über HttpContext.Aktuelle.Benutzer.
Gibt es einen ausgezeichneten Artikel hier erklären diese im detail.