Singleton v ASP.NET   otázka

ASP.NET WebForms, Architektura

Zdravim,

momentalne vyvijam asp.net aplikaciu, ktorej by som chcel k Listu dat pristupovat prostrednictvom singletonu.

Predom priznavam, ze architekturu ASP.NET som az tak do podrobna nestudoval, kedze v nom vyvijam sporadicky

Povedzme, ze stranku si najprv nacita prvy pouzivatel, aplikacia si interne zavola singletonovu .Instance property, tym padom sa cely singleton inicializuje, prebehne cely proces v privatnom konstruktore a vo finale mame vo vnutri instancie nejake data.

Co sa stane ak si teraz stranku nacita druhy uzivatel ? Prebieha cely proces inicializacie nanovo, kedze je to ina session, alebo sa vyuziju data, ktore "natahal" prvy pouzivatel ?

Za objasnenie tohto fungovania vopred pekne dakujem :)

S pozdravom, Milan

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Záleží, kam ten vytvořený objekt ukládáte.

Pokud je to statická proměnná, tak jej uvidí i ostatní uživatelé a vydrží tam do restartu serveru nebo aplikace (záleží na nastavení, ale typicky IIS pravidelně recykluje worker proces jednou za den anebo když začne žrát moc paměti; nebo ho může shodit neošetřená výjimka ve vlákně, které si sám vytvoříte, anebo taková, ze které se nedá zotavit, např. StackOverflowException).

Ale můžete ho ukládat třeba do Session, pak je jen pro uživatele, nebo do HttpContext.Current.Request.Items, pak žije jen pro daný HTTP požadavek atd.

Záleží, jak je ten singleton implementovaný.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

V podstate je mojim cielom udrzat tie data aj pre inych uzivatelov [aby sa museli nacitavat co majmenej krat], kedze tieto data nemaju tendenciu menit sa az tak casto.

Dakujem velmi pekne za odpoved a objasnenie nejasnosti, co som ohladne tohoto mal... prajem prijemny den a vsetko dobre :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback