Starší komentáře ke článku: Cachujme si sami v aplikacích ASP.NET
Zpět na článek | Úvodní stránka Interval.cz
Datum vložení: 20.5.2003 9:22:49
Rád bych se zeptal autora proč použil tuto konstrukci:
MemoryStream PngStream = new MemoryStream();
if ((MemoryStream) Cache[HeadingText]!=null)
{
PngStream=(MemoryStream) Cache[HeadingText];
} ...
místo takovéto konstrukce, která je jistě účelnější:
MemoryStream PngStream = Cache[HeadingText] as MemoryStream;
if (PngStream == null) {
.... // poté je samozřejmě nutné před uložením do proměnné PngStream tuto proměnnou zkonstruovat.
V takovém případě odpadá tvoření MemoryStream proměnné při každé žádosti o obrázek a navíc se nevybírá z Cache stream dvakrát, jednou pro otestování, zda není null a podruhé pro přiřazení do proměnné.
Datum vložení: 20.5.2003 9:46:06
Dobrý den,
díky za připomínku, máte pravdu.
Tento ukázkový příklad upravíme co nejdříve :)
Pavel Růžička
odborný redaktor Interval.cz
Datum vložení: 27.5.2003 11:16:10
Nemluve o tom ze MemoryStream neni thread safe - tim padem to muze pod zatezi zacit nejak divne nefungovat ;) Bacha na cachovani objektu, musi k nim bejt moznej bezpecnej pristup z nekolika threadu najednou. Na lokalu s jednim uzivatelem to je vice mene jedno, ale na zivym webu se stovkama uzivatelu uz ne.
Datum vložení: 28.5.2003 18:34:26
To se mi nezdá, mluvíte o .net frameworku 1.1 ?
<a href='http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemiomemorystreamclasstopic.asp' target='_blank'>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemiomemorystreamclasstopic.asp</a>
Thread Safety
Any public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Any instance members are not guaranteed to be thread safe.
Datum vložení: 29.5.2003 20:10:38
A GetBuffer metoda je snad static metoda ty tridy? Ja bych nerekl...
Datum vložení: 2.8.2008 23:37:09
Mohl bych poprosit o stručné srovnání objektů Cache a Application?