Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 3.458 pregleda

Najnovija ↓

Singleton u asp.net 17.09.2007. u 18:27 · pre 232 meseca #1
Znam da je jednostavno, ali mi u ovom trenutku nista ne pada na pamet.
Znaci, treba mi singleton u asp.net-u ali da bude na nivou sessije.

Code:

using System;
public class Singleton
{
private static Singleton instance;
private Singleton() {}
public static Singleton Instance
{
get
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}


To je pattern, ali meni ne pije vodu posto ne mogu koristiti static, posto svaki session mora imati razlicitu instancu. Ono sto sam pokusao je nesto kao:

Code:

public static Global GetGlobalInstance()
    {
        Global retVal;
        if (Session["Global"] != null)
        {
            retVal = Session["Global"];
        }
        else
        {
            retVal = new Global();
            Session["Global"] = retVal;
        }

        return retVal;
    }
}


ali ovo opet nije moguce zato sto se (logicno) ne moze pristupiti Session objektu iz static metode.

Takodje hteo bih da izbegnem instaniciranje neke 'privremene' klase na svakoj stranici.
Potpis
Every hamster has his day.
Re: Singleton u asp.net 17.09.2007. u 19:58 · pre 232 meseca #2
Mozes da pristupas Session objektu i iz static klase:
HttpContext.Current.Session["Global"].
Re: Singleton u asp.net 18.09.2007. u 12:54 · pre 232 meseca #3
Hvala na odgovoru, ali znao sam to, i to ne radi. Iz nekog razloga Session objekat je uvek null.
Mislim da je to neka novina u 2.0... posto sam skoro siguran da sam to radio u 1.1 bez problema....

Cak i ako pozovem taj Session iz metode obrade eventa (znaci mnogo nakon session_start i page_load), dobijam null reference.
Potpis
Every hamster has his day.
Re: Singleton u asp.net 18.09.2007. u 18:54 · pre 232 meseca #4
Kao prvo to sto ti hoces nije singleton, jer ako postoji jedna instanca po sesiji onda nije single, ne? ;)

Pretpostavljam da hoces da imas na raspolaganju instancu tog objekta bez da u stranicama razmisljas o tome da li je ili nije taj objekat kreiran. Ako je to onda ga jednostavno kreiraj u Session_Start ako je session["global"] == null, kad izvrsavanje dodje do stranice objekat ce sigurno postojati...
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme