04. december 2005 - 10:05Der er
14 kommentarer og 1 løsning
Tilgang til Application["myObject"] fra static class
Hejsa derude, skal lige høre om der er nogen der har en ide til hvordan jeg kan tilgå et objekt jeg har liggende som Application["myObject"] fra en statisk klasse??
Problemet er at Application er en HttpApplicationState som er knyttet til en webside - men er der en måde jeg kan få adgang til den på fra klassen som benyttes af websiden?
Ja, og så er spørgsmålet hvorfor du vil udngå det. Det er ikke til at vide hvad din statiske klasse laver. Hvis det den laver egentlig er uafhængig af at den bruges i en konkret applikation, så er det vel bedst at den er uafhængig af at kende til applikationsvariabler. Men det er jo ikke til at vide ...
Ideen er at den skal bruges til at styre noget logning således at jeg har en buffer der skrives til for at forbedre performence. Denne buffer har jeg så lagt på en klasse som jeg lægger et objekt af i Application for at den kan deles. Så langt virker der fint, men jeg skal så skrive (Log)Application["log"] for at tilgå objektet hvilket ikke er specielt kønt da det skal gøres mange steder fra. Jeg vil så lave nogle metoder der håndterer det for mig så jeg bare kan kalde dem. Der er så 2 muligheder: 1) lade en side nedarve fra page og smide metoderne der, 2) have en statisk klasse der kan håndtere det. Den første løsning er nem men jeg vil hellere se om jeg kan lave det med en statisk klasse så jeg ikke skal have den ekstra side at arve fra (dette er bl.a af hensyn til en eksisterende arvestruktur men det er en længere historie og irrelevant for dette spørgsmål da det ikke er det jeg søger en løsning på)...
Hmm ja, det kunne selvfølgelig være en ide. Er bare lidt i tvivl om hvordan en singleton fungerer i web - vil den dø imellem kald og kan den deles af alle sessions?!
SÅ fik jeg tid til at se på det det virker fint med bare at have bufferen liggende som en statisk variabel - hvilket jeg foretrækker i det her tilfælde selvom forskellen er så godt som den samme.
erikjacobsen gider du smide et svar så du kan få nogle point...
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.