Udostępnij za pośrednictwem


Zarządzanie pamięcią podręczną dla aplikacji sieciowych

W tym temacie i powiązanych podtematach opisano buforowanie zasobów uzyskanych przy użyciu klas WebClient, WebRequest, HttpWebRequest i FtpWebRequest.

Pamięć podręczna zapewnia tymczasowy magazyn zasobów, które zostały żądane przez aplikację. Jeśli aplikacja żąda tego samego zasobu więcej niż raz, zasób może zostać zwrócony z pamięci podręcznej, unikając narzutu ponownego żądania z serwera. Buforowanie może zwiększyć wydajność aplikacji, skracając czas wymagany do uzyskania żądanego zasobu. Buforowanie może również zmniejszyć ruch sieciowy, zmniejszając liczbę podróży do serwera. Buforowanie zwiększa wydajność, ale zwiększa ryzyko, że zasób zwrócony do aplikacji jest nieaktualny, co oznacza, że nie jest identyczny z zasobem, który zostałby wysłany przez serwer, jeśli buforowanie nie było używane.

Buforowanie może zezwalać nieautoryzowanym użytkownikom lub procesom na odczytywanie poufnych danych. Uwierzytelniona odpowiedź, która jest buforowana, może zostać pobrana z pamięci podręcznej bez dodatkowej autoryzacji. Jeśli buforowanie jest włączone, zmień wartość na CachePolicy lub BypassCache lub NoCacheNoStore aby wyłączyć buforowanie dla tego żądania.

Ze względu na obawy dotyczące zabezpieczeń buforowanie nie jest zalecane w scenariuszach warstwy środkowej.

W tej Sekcji

Zasady pamięci podręcznej Wyjaśnia, czym są zasady pamięci podręcznej i jak je zdefiniować.

Zasady pamięci podręcznej oparte na lokalizacji Definiują każdy typ zasad pamięci podręcznej dostępnych dla zasobów protokołu http i https.

Time-Based Zasady Pamięci Podręcznej Opisuje kryteria, których można użyć do dostosowywania zasad pamięci podręcznej opartych na czasie.

Konfigurowanie buforowania w aplikacjach sieciowych Opisuje sposób programowego tworzenia zasad pamięci podręcznej i żądań korzystających z buforowania.

Źródło

System.Net.Cache Definiuje typy i wyliczenia używane do definiowania zasad pamięci podręcznej dla zasobów uzyskanych przy użyciu WebRequestklas , HttpWebRequesti FtpWebRequest .