[ Pobierz całość w formacie PDF ]
.Obiekty klasy HttpCachePolicy umo\liwiają tak\e określanie wartości zmiennego czasuupłynięcia wa\ności elementów przechowywanych w pamięci podręcznej.(O zmiennym czasieupłynięcia wa\ności pisałem we wcześniejszej części rozdziału, pt.: Zapisywanie obiektów wpamięci podręcznej.) Aby umo\liwić zastosowanie zmiennego czasu wygaśnięcia wa\ności,wystarczy podać wartość true w wywołaniu metody SetSlidingExpiration:Response.Cache.SetSlidingExpiration(true)W tym przypadku zawartość pamięci podręcznej zostanie uniewa\niona po upłynięciu okresuczasu, który jest aktualizowany wraz z otrzymywaniem kolejnych \ądań.Istnieje tak\e mo\liwość określania czy oraz gdzie będzie przechowywana pamięć podręczna.Metoda SetCacheability pozwala określić kto będzie miał prawo do zapisywania stron wpamięci podręcznej.Wartości jakie mo\na przekazać w wywołaniu tej metody zostały opisane wtabeli 14.3.Tabela 14.3.Wartości określające prawa do korzystania z pamięci podręcznej.Typ OpisNoCacheNikt nie ma prawa do zapisywania danych w pamięci podręcznej.Klient musipotwierdzić wa\ność elementu pamięci podręcznej na serwerze.PrivateOkreśla, \e klient mo\e zapisać odpowiedz w pamięci podręcznej, jednak nie mogątego robić serwery pośredniczące.Jest to wartość domyślna argumentu metodySetCacheability.PublicOkreśla \e zarówno klienci jak i serwery pośredniczące mogą zapisywać odpowiedziw pamięci podręcznej.NotatkaWarto zwrócić uwagę, i\ w przypadku u\ycia zmiennego czasu upłynięcia wa\ności zawartościpamięci podręcznej (podania wartości true w wywołaniu metody SetSlidingExpiration),czas ten nale\y określić w sposób względny (czyli jako okres czasu liczony od chwili obsługi\ądania, po upłynięciu którego zawartość pamięci podręcznej zostanie uniewa\niona).Naprzykład, wykonanie poni\szego fragmentu kodu nie spowoduje u\ycia zmiennego czasuupłynięcia wa\ności:Response.Cache.SetExpires("11/21/01 3:00:00PM".ToDateTime)Response.Cache.SetSlidingExpiration(true)W powy\szym przypadku ASP.NET nie jest w stanie określić długości okresu czasu po jakimnale\y uniewa\nić zawartość pamięci podręcznej.Przykład poprawnego sposobu określeniazmiennego czasu upłynięcia wa\ności przedstawiłem poni\ej:Response.Cache.SetExpires(DateTime.Now.AddSeconds(30))Response.Cache.SetSlidingExpiration(true)W tym przypadku zmienny czas upłynięcia wa\ności danych przechowywanych w pamięcipodręcznej, zostanie ustawiony na 30 sekund po chwili zakończenia obsługi ostatniego\ądania.Właściwość ta jest przydatna w sytuacjach gdy wiadomo gdzie są kierowane odpowiedzi oraz jakmają być traktowane.Na przykład, jeśli są one kierowane na sieć poprzez serwer pośredniczący, tomo\na zapobiec zapamiętywaniu ich na tym serwerze.W ten sposób klienty nie będą korzystały z pośredniej pamięci podręcznej:Response.Cache.SetCacheability(HttpCacheability.Private)Na podobnej zasadzie, wywołanie metody SetNoServerCaching całkowicie uniemo\liwiaprzechowywanie dokumentu w pamięci podręcznej na serwerze.Wszystkie kolejne \ądaniadotyczące danego dokumentu będą obsługiwane bez wykorzystania pamięci podręcznej.Otoprzykład wykorzystania tej metody:Response.Cache.SetNoServerCaching()NotatkaByć mo\e zastanawiasz się, gdzie nale\y umieścić wszystkie te instrukcje wykorzystującewłaściwość Response.Cache.W tym przypadku masz du\ą swobodę mo\na je bowiemumieścić w dowolnej metodzie zapisane w bloku deklarowania kodu.Zazwyczaj jednakinstrukcje te umieszczane są na samym początku procedury Page_Load, dzięki czemu całośćdanych wynikowych generowanych przez stronę ASP.NET zostanie poprawnie obsłu\ona.Mechanizmy uzale\niania zapisu danych w pamięci podręcznej odinnych informacjiCzy przypominasz sobie podane wcześniej informacje o mechanizmach obsługi pamięcipodręcznej oraz o sprawdzaniu parametrów łańcucha zapytania kontrolowanym przy u\yciuparametru VaryByParam? Domyślnie ASP [ Pobierz całość w formacie PDF ]
zanotowane.pl doc.pisz.pl pdf.pisz.pl trzylatki.xlx.pl
.Obiekty klasy HttpCachePolicy umo\liwiają tak\e określanie wartości zmiennego czasuupłynięcia wa\ności elementów przechowywanych w pamięci podręcznej.(O zmiennym czasieupłynięcia wa\ności pisałem we wcześniejszej części rozdziału, pt.: Zapisywanie obiektów wpamięci podręcznej.) Aby umo\liwić zastosowanie zmiennego czasu wygaśnięcia wa\ności,wystarczy podać wartość true w wywołaniu metody SetSlidingExpiration:Response.Cache.SetSlidingExpiration(true)W tym przypadku zawartość pamięci podręcznej zostanie uniewa\niona po upłynięciu okresuczasu, który jest aktualizowany wraz z otrzymywaniem kolejnych \ądań.Istnieje tak\e mo\liwość określania czy oraz gdzie będzie przechowywana pamięć podręczna.Metoda SetCacheability pozwala określić kto będzie miał prawo do zapisywania stron wpamięci podręcznej.Wartości jakie mo\na przekazać w wywołaniu tej metody zostały opisane wtabeli 14.3.Tabela 14.3.Wartości określające prawa do korzystania z pamięci podręcznej.Typ OpisNoCacheNikt nie ma prawa do zapisywania danych w pamięci podręcznej.Klient musipotwierdzić wa\ność elementu pamięci podręcznej na serwerze.PrivateOkreśla, \e klient mo\e zapisać odpowiedz w pamięci podręcznej, jednak nie mogątego robić serwery pośredniczące.Jest to wartość domyślna argumentu metodySetCacheability.PublicOkreśla \e zarówno klienci jak i serwery pośredniczące mogą zapisywać odpowiedziw pamięci podręcznej.NotatkaWarto zwrócić uwagę, i\ w przypadku u\ycia zmiennego czasu upłynięcia wa\ności zawartościpamięci podręcznej (podania wartości true w wywołaniu metody SetSlidingExpiration),czas ten nale\y określić w sposób względny (czyli jako okres czasu liczony od chwili obsługi\ądania, po upłynięciu którego zawartość pamięci podręcznej zostanie uniewa\niona).Naprzykład, wykonanie poni\szego fragmentu kodu nie spowoduje u\ycia zmiennego czasuupłynięcia wa\ności:Response.Cache.SetExpires("11/21/01 3:00:00PM".ToDateTime)Response.Cache.SetSlidingExpiration(true)W powy\szym przypadku ASP.NET nie jest w stanie określić długości okresu czasu po jakimnale\y uniewa\nić zawartość pamięci podręcznej.Przykład poprawnego sposobu określeniazmiennego czasu upłynięcia wa\ności przedstawiłem poni\ej:Response.Cache.SetExpires(DateTime.Now.AddSeconds(30))Response.Cache.SetSlidingExpiration(true)W tym przypadku zmienny czas upłynięcia wa\ności danych przechowywanych w pamięcipodręcznej, zostanie ustawiony na 30 sekund po chwili zakończenia obsługi ostatniego\ądania.Właściwość ta jest przydatna w sytuacjach gdy wiadomo gdzie są kierowane odpowiedzi oraz jakmają być traktowane.Na przykład, jeśli są one kierowane na sieć poprzez serwer pośredniczący, tomo\na zapobiec zapamiętywaniu ich na tym serwerze.W ten sposób klienty nie będą korzystały z pośredniej pamięci podręcznej:Response.Cache.SetCacheability(HttpCacheability.Private)Na podobnej zasadzie, wywołanie metody SetNoServerCaching całkowicie uniemo\liwiaprzechowywanie dokumentu w pamięci podręcznej na serwerze.Wszystkie kolejne \ądaniadotyczące danego dokumentu będą obsługiwane bez wykorzystania pamięci podręcznej.Otoprzykład wykorzystania tej metody:Response.Cache.SetNoServerCaching()NotatkaByć mo\e zastanawiasz się, gdzie nale\y umieścić wszystkie te instrukcje wykorzystującewłaściwość Response.Cache.W tym przypadku masz du\ą swobodę mo\na je bowiemumieścić w dowolnej metodzie zapisane w bloku deklarowania kodu.Zazwyczaj jednakinstrukcje te umieszczane są na samym początku procedury Page_Load, dzięki czemu całośćdanych wynikowych generowanych przez stronę ASP.NET zostanie poprawnie obsłu\ona.Mechanizmy uzale\niania zapisu danych w pamięci podręcznej odinnych informacjiCzy przypominasz sobie podane wcześniej informacje o mechanizmach obsługi pamięcipodręcznej oraz o sprawdzaniu parametrów łańcucha zapytania kontrolowanym przy u\yciuparametru VaryByParam? Domyślnie ASP [ Pobierz całość w formacie PDF ]