do ÂściÂągnięcia > pobieranie > ebook > pdf > download

[ Pobierz całość w formacie PDF ]
.do 15.).Wywo³uj¹c têstronê nale¿y podaæ dwa parametry — imie oraz nazwisko — reprezentuj¹ceodpowiednio imiê oraz nazwisko u¿ytkownika.Wyniki pierwszego wykonania stronyzosta³y przedstawione na rysunku 14.10.Rysunek 14.10.Prezentacja elementów w³aœciwoœci VaryByParamsJak widaæ na powy¿szym rysunku, elementy imie oraz nazwisko w³aœciwoœciVaryByParams (odpowiadaj¹ce parametrom ³añcucha zapytania o tych samychnazwach) zawieraj¹ wartoœci false.Oznacza to, ¿e w pamiêci podrêcznej, dlaka¿dego parametru jest dostêpna odrêbna wersja dokumentu.Przechowywane wpamiêci wersje dokumentów ró¿ni¹ siê w zale¿noœci od wartoœci parametru.To domyœlny sposób dzia³ania mechanizmów obs³ugi pamiêci podrêcznej, z którymspotkaliœmy siê ju¿ wczeœniej, w czêœci pod tytu³em „Zapamiêtywanie wynikówwykonania stron ASP.NET”.Podanie unikalnych wartoœci parametrów imie oraznazwisko spowoduje zapisanie w pamiêci podrêcznej nowej wersji strony.Podanieu¿ytej wczeœniej kombinacji parametrów spowoduje natomiast pobranie wersjiprzechowywanej w pamiêci podrêcznej.W tym miejscu zaczyna siê robiæ interesuj¹co.Dodajmy poni¿szy wiersz kodu dona samym pocz¹tku procedury Page_Load:Response.Cache.VaryByParams.Item("imie")=trueA teraz spróbujmy zmieniæ wartoœci parametrów podanych w ³añcuchu zapytania.Podanie nowej wartoœci parametru imie spowoduje zapisanie w pamiêci podrêcznejnowej wersji strony.Jednak podanie nowej wartoœci parametru nazwisko przyjednoczesnym pozostawieniu u¿ytej wczeœniej wartoœci parametru imie niespowoduje zapamiêtania nowej wersji strony.W takim przypadku zostanie zwróconawczeœniejsza wersja strony, o czym mo¿na siê przekonaæ na podstawiewyœwietlonego na niej czasu.Ró¿nica ta zosta³a przedstawiona na rysunku14.11.Rysunek 14.11.Modyfikacja parametru nazwisko nie powoduje zapamiêtania nowejwersji strony.Na powy¿szym przyk³adzie, przypisuj¹c elementowi w³aœciwoœci VaryByParamswartoœæ true poinformowaliœmy ASP.NET, i¿ nale¿y zapamiêtaæ now¹ wersjê stronywy³¹cznie w sytuacji gdy zmieni siê wartoœæ parametru imie.Podobnie, u¿ycienastêpuj¹cej instrukcji spowoduje, ¿e ASP.NET bêdzie zapamiêtywaæ stronywy³¹cznie w przypadku podania nowej wartoœci parametru nazwisko:Response.Cache.VaryByParams.Item("nazwisko") = trueW³aœciwoœæ VaryByParams jest niezwykle przydatna.WyobraŸmy sobie na przyk³ad,i¿ strony s¹ zapisywane w pamiêci podrêcznej na witrynie, okreœlaj¹cej statuspodatkowy u¿ytkownika na postawie stanu w którym dana osoba mieszka.W ³añcuchuzapytania przekazywany jest skrót nazwy stanu oraz nazwa u¿ytkownika.Jednakdla okreœlenia statusu podatkowego znaczenie ma jedynie informacja o stanie.Zapisywanie stron w pamiêci podrêcznej na podstawie nazwy u¿ytkownika jest wtym przypadku niepotrzebne.A zatem, aby aktualizowaæ zawartoœæ pamiêcipodrêcznej wy³¹cznie w przypadku za¿¹dania strony dotycz¹cej nowego stanu,moglibyœmy pos³u¿yæ siê nastêpuj¹cym wywo³aniem:Response.Cache.VaryByParams.Item("stan") = trueMo¿liwoœci te, wykorzystane w poprawny sposób, mog¹ przynieœæ ogromne korzyœcidla efektywnoœci dzia³ania aplikacji.Dostêpna jest tak¿e w³aœciwoœæ umo¿liwiaj¹ca uzale¿nienie zapisywania stron wpamiêci podrêcznej na postawie nag³Ã³wków HTTP; nosi ona nazwê VaryByHeaders.W³aœciwoœæ ta dzia³a analogicznie do atrybutu VaryByHeader opisanego w czêœcirozdzia³u poœwiêconej zapamiêtywaniu wyników realizacji stron.W niniejszejksi¹¿ce nie opisywa³em wszystkich dostêpnych nag³Ã³wków HTTP, dlatego te¿ tezagadnienia bêdziesz musia³ poznaæ samemu.Obiekt HttpCachePolicy dostêpny zapoœrednictwem w³aœciwoœci Response.Cache nie udostêpnia ¿adnej w³aœciwoœciodpowiadaj¹cej parametrowi VaryByCustom dyrektywy OutputCache.Dostêpna jestjednak metoda SetVaryByCustom, która ma podobne dzia³anie.(Wiêcej informacjina ten temat znajdziesz w dokumentacji.NET SDK.)Efektywne korzystanie z pamiêci podrêcznejPamiêæ podrêczna mo¿e w ogromnym stopniu poprawiæ efektywnoœæ dzia³aniaaplikacji ASP.NET.W aplikacjach o bardzo du¿ym obci¹¿eniu, zapamiêtywaniestron nawet na okres jednej minuty mo¿e ogromnie pomóc.Jeœli ka¿dy elementzapisany w pamiêci podrêcznej mo¿e skróciæ obs³ugê ¿¹dania o jedn¹ sekundê, towyobraŸ sobie jakie korzyœci mo¿e daæ wykorzystanie pamiêci podrêcznej wprzypadku gdy witryna obs³uguje setki ¿¹dañ na minutê.Ogólnie rzecz bior¹c, w pamiêci podrêcznej mo¿na z powodzeniem przechowywaæbardzo wiele informacji, na przyk³ad informacje pobierane z baz danych lubplików, wyniki z³o¿onych obliczeñ oraz ustawienia konfiguracyjne aplikacji.Jednak zdarzaj¹ siê tak¿e przypadki, gdy wykorzystanie pamiêci podrêcznej niejest najlepszym rozwi¹zaniem.WyobraŸ sobie internetow¹ witrynê gie³dow¹, któramusi prezentowaæ informacje z ostatnich sekund.Zapisywanie takich informacji wpamiêci podrêcznej nie by³oby dobrym rozwi¹zaniem, chyba ¿e jednoczeœnie by³ybywykorzystywane odpowiednie zale¿noœci.TakNieZapisuj w pamiêci podrêcznej czêsto wykorzystywane informacje, które rzadkokiedy s¹ modyfikowane.Zapisuj w pamiêci podrêcznej ustawienia i obiekty, które s¹ wykorzystywane wwielu miejscach aplikacji a jednoczeœnie nie s¹ w ¿aden sposób modyfikowane.Nie zapisuj w pamiêci podrêcznej informacji personalnych dotycz¹cychu¿ytkowników korzystaj¹cych z aplikacji, na przyk³ad hase³.Inni u¿ytkownicybardzo ³atwo mogliby uzyskaæ do nich dostêp.Nie zapisuj w pamiêci podrêcznej stron, których zawartoœæ zale¿y od czasu.U¿ytkownicy mog¹ nie rozumieæ dlaczego ich zegarki siê spóŸniaj¹.Nie zapisuj w pamiêci podrêcznej obiektów, które u¿ytkownicy mog¹ zmodyfikowaæw dowolnym momencie, takich jak „koszyki” w internetowych sklepach.To nie jest ASP!Oryginalna wersja technologii ASP umo¿liwia³a jedynie kontrolê zarz¹dzaniapamiêci¹ podrêczn¹ po stronie klienta.S³u¿y³y do tego w³aœciwoœciResponse.Expires oraz Response.ExpiresAbsolute.ASP.NET pozwala na kontrolêsposobów dzia³ania mechanizmów obs³ugi pamiêci podrêcznej zarówno po stronieserwera jak i klienta.To jedna z najwiêkszych zmian jakie wprowadzono wASP.NET w porównaniu z poprzednimi wersjami technologii ASP.Teraz programiœcidysponuj¹ mechanizmem obs³ugi pamiêci podrêcznej o bardzo potê¿nychmo¿liwoœciach, którym mo¿na zarz¹dzaæ bardzo ³atwo i na wiele sposobów (w tymtak¿e programistycznie).Tak potê¿ne mechanizmy wykorzystania pamiêcipodrêcznej mog¹ w ogromnym stopniu poprawiæ efektywnoœæ dzia³ania aplikacji [ Pobierz caÅ‚ość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • klimatyzatory.htw.pl