09. juli 2003 - 11:25Der er
13 kommentarer og 2 løsninger
Er alle metoder statiske?
Jeg er lige gået igang med ASP.NET (c#), og har læst mig til, at al C# kode bliver kompileret én metode ad gangen, når den (metoden) første gang bliver brugt.
Betyder det så, at alle metoderne er statiske? Og kan man stadig oprette instancer af sine egne klasser?
1. Hvis nu jeg skriver <% User bruger = new User("martin"); %> får jeg så ikke en instans, som kun jeg bruger?
2. Hvis jeg laver en klasse og nedarver fra den til min aspx-fil. Når jeg så kalder en metode i den klasse, bliver den så udført synkront på serveren? Eller er jeg sikker på, at jeg er den eneste der bruger metoden? (eller kan jeg blive sikker på det? Måske noget synchronized?)
3. Som tillægssp.: Hvis jeg igen nedarver en .cs-fil til min .aspx-fil. Er det så ikke muligt at arbejde med cookies eller sessions i min .cs-fil. Det har jeg nemlig fået nogle mystiske fejl når jeg gør!
Nej alle metoder er ikke statiske. Du ka godt oprette instanser af egne klasser 1: forstår ikke lige hvad det skal hjælpe...? 2: Der en en funktion som hedder Application.Lock() (tror ikke at syn. kan bruges her 3: Jo du kan - du må være mere konkret :-)
For lige at tage det i den forkerte rækkefølge, så sp.3. Jeg får følgende fejlbesked:
Compiler Error Message: CS0103: The name 'Session' does not exist in the class or namespace 'sessionAlter'
Min sessionAlter-klasse ser således ud: //-------------------------------------------- using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;
1) Ja du får kun en instance. Og kan selvfølgelig oprette så mange som du nu har lyst til. 2) Du har jo kun en instance så der er ingen der kan lave knuder der. Hvis der er en anden der kalder den samme side bliver der lavet en ny instance. 3) Som repsak skriver skal den side som din aspx nedaver være af typen Page.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.