Compartilhar via


Políticas de cache baseadas na localização

Uma política de cache baseada na localização define a atualização das entradas armazenadas em cache válidas de acordo com o local em que o recurso solicitado pode ser obtido. Um recurso em cache é válido se usá-lo não viola os requisitos de revalidação especificados pelo servidor. Uma política de cache baseada na localização é criada programaticamente usando um construtor de classe RequestCachePolicy ou HttpRequestCachePolicy. O tipo de política baseada na localização é passado para o construtor usando um valor de enumeração RequestCacheLevel ou HttpRequestCacheLevel. Para obter exemplos de código que criam políticas de cache baseadas na localização, consulte Como definir uma política de cache baseada na localização para um aplicativo. As seções a seguir explicam cada tipo de política de cache baseada na localização para recursos de protocolo HTTP (http e https).

Política de armazenar em cache se disponível

Se um recurso solicitado válido estiver no cache local, o recurso armazenado em cache será usado; caso contrário, a solicitação para o recurso será enviada ao servidor. Se o recurso solicitado estiver disponível em qualquer cache entre o cliente e o servidor, a solicitação poderá ser atendida por um cache intermediário.

Política de somente cache

Se um recurso solicitado válido estiver no cache local, o recurso armazenado em cache será usado. Ao se especificar esse nível de política de cache, uma exceção WebException será lançada se o item não estiver no cache local.

Política de somente cache ou próximo cache

Se um recurso solicitado válido está no cache local ou em um cache intermediário na rede local, o recurso armazenado em cache é usado. Se não, uma exceção é lançada de WebException . No protocolo de cache HTTP, isso é feito usando a diretiva de controle de cache somente se armazenado em cache.

Política sem cache, sem repositório

Um recurso solicitado nunca é usado de nenhum cache e nunca é colocado em nenhum cache. Se um recurso solicitado estiver presente no cache local, ele será removido. Esse nível de política indica aos caches intermediários que eles também devem remover o recurso. No protocolo de cache HTTP, isso é feito usando a diretiva de controle de cache sem repositório.

Política de atualizar

Um recurso solicitado pode ser usado se for obtido do servidor ou localizado em um cache que não seja o cache local. Antes de a solicitação poder ser atendida por um cache intermediário, esse cache deve revalidar sua entrada armazenada em cache com o servidor. No protocolo de cache HTTP, isso é feito usando a diretiva de controle de cache max-age = 0 no cabeçalho Pragma sem cache.

Política de recarregar

Os recursos solicitados devem ser obtidos do servidor. A resposta pode ser salva no cache local. No protocolo de cache HTTP, isso é feito usando a diretiva de controle de cache sem cache e o cabeçalho Pragma sem cache.

Política de revalidar

Compara a cópia do recurso no cache com a cópia no servidor. Se a cópia no servidor for mais recente, ela será usada para atender à solicitação e substituirá a cópia em cache. Se a cópia em cache for igual à cópia do servidor, a cópia armazenada em cache será usada. No protocolo de cache HTTP, isso é feito usando uma solicitação condicional.

Confira também