Razširitev System.Web.SessionState.HttpSessionState

namespace

System.Web.SessionState{

public partial class HttpSessionState {

   public int KrNeki {

         get {return (int)this["KrNeki"];}

         set {this["KrNeki"] = value;}

}}}

------------------------

A je že komu uspelo kaj podobnega kot naj bi naredila zgornja koda. Torej razširila Session objekt s custom propertyi?

Btw, zgornja koda ne deluje, samo želim si, da bi.

lp,

Rok

Avtor: Ripp, objavljeno na portalu SloDug.si (Arhiv)

Leave a comment

Please note that we won't show your email to others, or use it for sending unwanted emails. We will only use it to render your Gravatar image and to validate you as a real person.

AndrejT
AndrejT - torek, 13. junij 2006

Žal frameworka ne moreš kar tako spreminjat, lahko pa gradiš nad njim (izpeljava/dedovanje). Pomagaš si s svojimi/pomožnimi razredi (podobno kot ga že imaš) in poskušaš uporabo session spremenljivk ter ostalih funkcij v svojem projektu skanalizirat preko teh razredov.

Ripp
Ripp - nedelja, 11. junij 2006

Želim zamenajti spremenljivke kot so Session["Int32Spremenljivka"] dodati samemu objektu Session kot "Session.Int32Spremenjvka:int32?" in jih predvsem na tak način tudi klicati. Zdaj imam sicer en statični objekt, ki to počne, ampak kul bi to bilo, če bi lahko pripel direkt na Session, še bolj kul bi pa bilo, če bi lahko določil ta način dostopa do Session spremenljivk kot Obsolete. lp, Rok  

AndrejT
AndrejT - sobota, 10. junij 2006

Kaj pa pravzaprav želiš narediti?

Ripp
Ripp - sobota, 10. junij 2006

Če bi pa hotel vsiliti svoj HttpSessionState, ki je dedovan iz privzetega, bi bilo pa kar nekaj telovadbe, a ne? Se pravi potem bi mogu tud popravit System.Web.Page pa HttpContext? lp, ROK

MihaM
MihaM - petek, 09. junij 2006

Seveda da ne deluje, ker je partial class na nivoju izvorne kode in istega zbira. Partial class ni nič drugega kot direktiva, da se izvorna koda nahaja na več različnih koncih. Če hočeš razširiti HttpSessionState bi ga moral podedovati in iti v drobovje asp.net-a ter spremeniti kreiranje tele instance (da bi se naredila tvoja podedovana, ne pa originalna).