Cache

Este guia descreve os tipos de cache suportados pelo Chromium e mostra como trabalhar com eles.

O Chromium suporta os seguintes tipos de cache:

  • HTTP cache
  • Cache de intermitência
  • HTML5 AppCache

Quando qualquer pedido de recurso é efetuado a partir de uma página, ele passa primeiro pelo carregador do Blink e pela cache do Blink. Um pedido ao processo do navegador pode ou não ser emitido a partir daí. À medida que passa pela pilha de rede do navegador, chega ao HTTP, à cache do disco ou da memória. Não existe comunicação explícita de uma página com o cache.

A AppCache HTML5 é utilizada explicitamente por uma página Web. Ela armazena dados independentemente de outras caches.

HTTP cache

Por predefinição, o HTTP cache armazena os recursos obtidos da Web num disco ou na memória. O próprio Chromium decide como colocar os recursos em cache para um desempenho ótimo.

A memória cache armazena e carrega os recursos de e para a memória do processo, que é a RAM. É uma forma rápida mas não persistente. O conteúdo fica disponível apenas até eliminar a instância IBrowser.

A cache de disco é uma forma persistente, uma vez que os recursos em cache são armazenados e carregados de e para o disco.

No Windows, a cache de disco é armazenada na pasta Cache no diretório User Data e pode ter o seguinte aspecto:

C:\Users\<username>\AppData\Local\Temp\dotnetbrowser-chromium\<version>\<arch>\data\Cache\

Modo de navegação anónima

No modo Incógnito, o Chromium armazena os recursos apenas na memória e não utiliza o disco para armazenar recursos. Os recursos colocados em cache só ficam disponíveis até eliminar o Perfil ou eliminar a instância IEngine.

Tamanho da cache HTTP

O tamanho predefinido da cache é calculado na inicialização do sistema. Depende do espaço disponível em disco no volume onde a cache está localizada.

Pode configurar o tamanho da cache HTTP utilizando uma opção adequada ao construir a instância IEngine . Por exemplo, para definir um limite de 32 MB, utilize o exemplo de código abaixo:

engine = EngineFactory.Create(new EngineOptions.Builder
{
    DiskCacheSize = 33554432
}
.Build());
engine = EngineFactory.Create(New EngineOptions.Builder With 
{
    .DiskCacheSize = 33554432
}.Build())

Se o tamanho da cache do disco estiver definido para zero, é calculado um valor predefinido que é utilizado automaticamente.

Limpando a cache HTTP

Para limpar a cache HTTP associada a um Perfil específico e executar uma ação após a conclusão, utilize o exemplo de código abaixo:

profile.HttpCache.Clear().ContinueWith(t => 
{
    // A cache foi limpa.
});
profile.HttpCache.Clear().ContinueWith(Sub(t)
    ' Cache has been cleared.
End Sub)

Utilizando o método IEngine.HttpCache(), você obterá o serviço HttpCache para o perfil predefinido.

Antes de chamar o método profile.HttpCache.Clear() é aconselhável ter pelo menos uma instância do IBrowser em execução. Caso contrário, a chamada pode ser interrompida.

Limpar a cache de autenticação HTTP

Para limpar a cache de autenticação HTTP associada a um determinado perfil, utilize o seguinte código:

profile.HttpAuthCache.Clear();
profile.HttpAuthCache.Clear()
Go Top