ASP.NET 2.0 fornece alguns novos recursos técnicos para melhorar o desempenho do programa. A tecnologia de cache é um recurso muito importante. Ele fornece um mecanismo de cache de dados local muito bom que pode ser facilmente personalizado.
O cache tem uma deficiência que não é fácil de superar: o problema da expiração dos dados. A situação mais típica é que, se o conteúdo dos dados na tabela do banco de dados estiver armazenado em cache na memória do servidor, o aplicativo da Web provavelmente exibirá dados desatualizados e imprecisos quando os registros na tabela do banco de dados forem alterados. Para alguns tipos de dados, mesmo que as informações apresentadas estejam desatualizadas, o impacto não será significativo. No entanto, para dados com requisitos rigorosos em tempo real, como preços de ações, lances em leilões e outras informações, é inaceitável exibir dados ligeiramente desatualizados.
O ASP.NET 2.0 oferece suporte aos seguintes tipos de cache de saída de página em cache. O cache de saída de página é o mecanismo de cache mais simples. Esse mecanismo salva todo o conteúdo da página ASP.NET na memória do servidor. Quando o usuário solicita a página, o sistema gera os dados relevantes da memória até que os dados armazenados em cache expirem. Nesse processo, o conteúdo armazenado em cache é enviado diretamente ao usuário sem a necessidade de passar novamente pelo ciclo de vida de processamento da página. Normalmente, o cache de saída de página é particularmente útil para páginas que contêm conteúdo que não precisa ser modificado com frequência, mas requer muito processamento para ser compilado até a conclusão. Os leitores devem observar que o cache de saída da página armazena todo o conteúdo da página na memória e é usado para concluir as solicitações do cliente.
Cache parcial da página
O cache parcial da página significa que a saída armazena em cache certas partes da página em vez de armazenar em cache todo o conteúdo da página. Existem dois mecanismos para implementar o cache de página parcial: um é colocar a parte da página que precisa ser armazenada em cache em um controle de usuário (arquivo .ascx) e definir a função de cache para o controle de usuário (a página que contém o controle de usuário pode ou não definir o cache). Isso é comumente referido como "cache de controle". A essência da configuração do cache de controle é configurar o cache do controle do usuário. Inclui principalmente os três métodos a seguir: um é usar a diretiva @OutputCache para definir declarativamente a função de cache para o controle do usuário; o outro é usar a classe PartialCachingAttribute no arquivo code-behind para definir o cache de controle do usuário; é usar a classe ControlCachePolicy para especificar programaticamente a configuração do cache de controle do usuário. Alternativamente, existe um método chamado "substituir após cache". Este método é exatamente o oposto do cache de controle. Ele define uma determinada parte da página para não ser armazenada em cache. Portanto, embora a página inteira seja armazenada em cache, quando a página for solicitada novamente, o conteúdo que não está configurado para ser armazenado em cache será. reprocessado.
Cache de Dados de Aplicativo O Cache de Dados de Aplicativo fornece uma maneira programática de armazenar dados arbitrários na memória usando pares chave/valor. Usar o cache do aplicativo é semelhante ao usar o estado do aplicativo. No entanto, diferentemente do estado do aplicativo, os dados no cache de dados do aplicativo são voláteis, ou seja, os dados não são armazenados na memória durante todo o tempo de vida do aplicativo. A vantagem do cache de dados do aplicativo é que o ASP.NET gerencia o cache, que remove itens do cache quando eles expiram, são inválidos ou estão sem memória. O cache do aplicativo também pode ser configurado para notificar o aplicativo quando um item é removido. .
dependência de cache
As dependências de cache personalizadas introduzidas no Net 2.0, especialmente o recurso SqlCacheDependency baseado no MS-SQL Server, permitem evitar o problema de "expiração de dados". Ele pode notificar o cache e remover aqueles que expiraram com base nas alterações nos dados correspondentes. o banco de dados O
recurso de cache de dados também tem suas próprias deficiências. Por exemplo, o conteúdo exibido pode não ser o mais recente e preciso e, por esse motivo, devem ser definidas políticas de cache apropriadas. Como outro exemplo, o cache aumenta a complexidade do sistema e dificulta o teste e a depuração, por isso é recomendado desenvolver e testar o aplicativo sem cache e, em seguida, habilitar a opção de cache durante a fase de otimização de desempenho.