Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Singleton u asp.net

[es] :: .NET :: ASP.NET :: Singleton u asp.net

[ Pregleda: 757 | Odgovora: 3 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Fedya
Fedor Hajdu
Senior Software Engeneer, Ammado Internet Services
Novi Sad

Član broj: 28246
Poruke: 624
*.intens.co.yu.

Jabber: fedya@elitesecurity.org
Sajt: www.ammado.com


Profil

icon Singleton u asp.net17.09.2007. u 17:27

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.
I am currently away on leave, traveling through time and will be returning last week.
17.09.2007. u 17:27 

StrokaviKod
Serbia

Član broj: 104474
Poruke: 31
*.eurodyn.com.



Profil

icon Re: Singleton u asp.net17.09.2007. u 18:58
Mozes da pristupas Session objektu i iz static klase:
HttpContext.Current.Session["Global"].
17.09.2007. u 18:58 

Fedya
Fedor Hajdu
Senior Software Engeneer, Ammado Internet Services
Novi Sad

Član broj: 28246
Poruke: 624
*.intens.co.yu.

Jabber: fedya@elitesecurity.org
Sajt: www.ammado.com


Profil

icon Re: Singleton u asp.net18.09.2007. u 11:54
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.
I am currently away on leave, traveling through time and will be returning last week.
18.09.2007. u 11:54 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

SuperModerator
Član broj: 17944
Poruke: 2408
195.252.79.*



Profil

icon Re: Singleton u asp.net18.09.2007. u 17:54
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...
▪ The quicker a phone is answered in sales, the slower it's answered in customer services - Brownridge's Law
▪ Democracy is a device that ensures we shall be governed no better than we deserve - George Bernard Shaw
▪ To err is human--and to blame it on a computer is even more so - Robert Orben
18.09.2007. u 17:54 

[es] :: .NET :: ASP.NET :: Singleton u asp.net

[ Pregleda: 757 | Odgovora: 3 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.