Entrar

Como implementar baseada em chave dependências de cache de dados no ASP.NET usando Visual Basic .NET

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

312358
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Para obter uma Microsoft Visual translation from VPE for Csharp .NET versão deste artigo, consulte 308147.

Este artigo se refere aos seguintes namespaces Microsoft .NET Framework Class Library:
  • System.Web.Caching
  • System.Web.SessionState
  • System.Data.SqlClient

NESTA TAREFA

Sumário
Use este guia passo a passo para implementar com base em chave dependências de cache de dados em um aplicativo ASP.NET.

Este exemplo cria e insere um objeto DataSet em um cache com uma dependência definir em outro item de entrada de cache fazendo referência a sua chave. Para obter informações adicionais e exemplos de dados de armazenamento em cache com dependências baseados em tempo ou com base em arquivo, consulte a seção REFERENCES neste artigo.

Back to the top

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
  • Microsoft Windows 2000 ou Microsoft Windows XP.
  • Microsoft Internet Information Services (IIS).
  • Microsoft .NET framework.
  • Microsoft SQL Server.
Back to the top

Criar um aplicativo ASP.NET usando Visual Basic .NET

O procedimento a seguir cria um novo aplicativo ASP.NET chamado DataCacher
  1. Inicie o Microsoft Visual Studio NET..
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
  3. Na caixa de diálogo New Project , em Project Types , clique em Projetos do Visual Basic . Em modelos , clique em ASP.NET Web Application .
  4. Na caixa Location , substitua WebApplication # com o novo projeto nome: DataCacher . Se você estiver usando o servidor local, deixe o nome do servidor como http://localhost . A caixa de local é semelhante a esta:
    http://localhost/DataCacher
Back to the top

Criar o formulário da Web

Observação Para obter informações adicionais, consulte a seção "Executar o código" neste artigo.
  1. Adicione um novo formulário da Web chamado DataCacheSample.aspx ao seu projeto no Visual Studio.NET. Para fazer isso, execute as seguintes etapas:
    1. Clique com o botão direito do mouse o nó de projeto no Solution Explorer, aponte para Add e, em seguida, clique em Adicionar novo formulário da Web .
    2. Nome do formulário da Web DataCacheSample.aspx e em seguida, clique em Abrir .
  2. No Visual Studio .NET Integrated Development Environment (IDE), alterne para modo Design.
  3. Adicione um botão de formulário da Web para a página:
    1. Arraste um botão de formulário da Web para a página.
    2. Selecione o botão de formulário da Web. Altere a propriedade ID para CreateNewOrCached e altere a propriedade Text para Criar novo ou cache .
  4. Adicione um segundo botão de formulário da Web:
    1. Arraste outro botão de formulário da Web para a página e coloque-depois do botão CreateNewOrCached .
    2. Selecione o botão de formulário da Web, altere a propriedade ID para RemoveEntry e alterar a propriedade Text para RemoveEntry .
  5. Adicione um rótulo de formulário da Web:
    1. Arraste um rótulo de formulário da Web para a página da caixa de ferramentas .
    2. Selecione o rótulo formulário da Web e alterar a propriedade ID para CacheStatus e, em seguida, desmarque a propriedade Text .
  6. Adicione um DataGrid:
    1. Arraste um controle de formulário da Web DataGrid até a página. Manter a propriedade de identificação de padrão de DataGrid1 .
Back to the top

Adicione o código

Adicione código para inserir itens do cache, para remover itens do cache e para criar a dependência de cache:
  1. Clique a página .aspx com o botão direito do mouse e, em seguida, clique em View Code para exibir o código.
  2. Adicionar os namespaces a seguir para a listagem de namespace:
    Imports System.Data.SqlClientImports System.Web.Caching						
    Observação se o espaço para nome for omitido ou se você tiver uma lista redundante de espaços para nome, você receberá uma mensagem de aviso.
  3. Alterne para o modo Design.
  4. Clique duas vezes o botão CreateNewOrCached para exibir o código para o evento CreateNewOrCached_Click . Adicione o seguinte código ao evento CreateNewOrCached_Click .

    Observação Esse código requer que você instale o SQL Server Pubs banco de dados.
         Private Sub CreateNewOrCached_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CreateNewOrCached.Click        ' Create a DataSet object from the cache entry with the        ' CacheDataSetEmployees key.        Dim CacheDataSetEmployees As Object = CType(Cache.Get("CacheDataSetEmployees"), DataSet)        ' Verify if the object is null.        If (CacheDataSetEmployees Is Nothing) Then            ' Set a value for the cache entry that serves as the             ' key for the dependency.            Cache("SqlPubsEmployees") = "SomeValue"            ' Create the array of cache key item names.            Dim keys() As String = {"SqlPubsEmployees"}            Dim ds As DataSet = New DataSet()            ' Create the connection and pass in the ConnectionString.            Dim MySqlConn As SqlConnection = New SqlConnection("Server=localhost;Database=Pubs;uid=sa;pwd=")            ' Create the Data Adapter and pass the command text and             ' connection to use.            Dim MySda As SqlDataAdapter = New SqlDataAdapter("SELECT TOP 10 * FROM Employee", MySqlConn)            ' Populate the DataTable "Employees" in the DataSet.            MySda.Fill(ds, "Employee")            ' Set the DataGrid's DataSource to the "Employee" DataTable.            DataGrid1.DataSource = ds.Tables("Employee")            ' Create a dependency object referencing the array of cache             ' keys (keys).            Dim MyDependency As New CacheDependency(Nothing, keys)            ' Insert the DataSet into Cache with a dependency on             ' MyDependency            Cache.Insert("CacheDataSetEmployees", ds, MyDependency)            MySqlConn.Close()            ' Display the status of the DataSet/Cache Entry.            CacheStatus.Text = "New Version Created"        Else            ' Display the status of the DataSet/Cache Entry.            CacheStatus.Text = "Cached Version Used"            ' Set the DataSource to the cached version of the DataSet.            DataGrid1.DataSource = CacheDataSetEmployees        End If        ' Bind the DataGrid to the DataSource.        DataGrid1.DataBind()    End Sub						
    anotação modificar ConnectionString no código mencionados anteriormente para trabalhar corretamente com o SQL Server.
  5. Alterne novamente para modo Design no DataCacheSample.aspx página.
  6. Clique duas vezes o botão RemoveEntry para exibir o código de evento RemoveEntry_Click .
  7. Adicione o seguinte código ao evento RemoveEntry_Click :
    Private Sub RemoveEntry_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RemoveEntry.Click        ' Remove the cache item listed in the CacheKeys array (keys).        Cache.Remove("SqlPubsEmployees")        ' Display the status of the cache item.        CacheStatus.Text = "Cache Item Removed"End Sub					
  8. No menu arquivo , clique em Salvar tudo para salvar o formulário da Web e outros arquivos de projeto associado.
  9. Criar o projeto: no menu Build no IDE do Visual Studio .NET, clique em Build Solution .
Back to the top

Executar o código

  1. Clique com o botão direito do mouse na página DataCacheSample.aspx no Solution Explorer e clique em View in Browser .
  2. Clique no botão CreateNewOrCached . O rótulo CacheStatus exibe a Nova versão criada e o controle DataGrid é preenchido.

    anotações :
    • A configuração Nova criação de versão para o rótulo CacheStatus aparece porque a chave de cache CacheDataSetEmployees não faz referência a um item de cache válido quando você insere o evento. Nesse caso, o DataSet é criado, o controle DataGrid está vinculado ao DataSet e o DataSet é inserido no cache usando a chave de cache CacheDataSetEmployees .
    • Um novo objeto CacheDependency chamado MyDependency é criado. O objeto MyDependency está listado como a dependência para o item CacheDataSetEmployees quando ele é adicionado ao cache usando o método Inserir . Embora este exemplo demonstra baseada em chave dependências, você também pode usar outros tipos de dependência com cache critérios, como arquivo ou carimbo de data/hora.
  3. Clique no botão CreateNewOrCached novamente.

    Observe que o rótulo CacheStatus exibe Usado de versão em cache . Isso significa que o DataSet em cache está sendo usado. Para verificar se isso é dados armazenados em cache, modificar um dos registros no banco de dados Pubs exibidos usando o SQL Query Analyzer ou outra ferramenta. Depois de modificar o registro, clique no botão CreateNewOrCached novamente. Observe que as alterações feitas não são exibidas. Clique em RemoveEntry e clique em CreateNewOrCached novamente para ver as alterações feitas no banco de dados.
  4. Clique no botão RemoveEntry .

    Observe que o rótulo CacheStatus exibe Cache Item removido . O item de cache com a chave SqlPubsEmployees é removido usando o método Cache.Remove no evento RemoveEntry_Click . A matriz que contém o nome de chave de cache do item removido é listada com MyDependency quando ele é criado. O item CacheDataSetEmployees será removido porque ele foi criado usando o método Insert e referências MyDependency como seu parâmetro de dependência.
  5. Clique em CreateNewOrCached novamente.

    Observe que o rótulo CacheStatus exibe a Nova versão criado . O DataSet é criado com base no fato de que ele não existe mais no cache quando o evento for acionado.

    Além disso, observe que o controle DataGrid é exibido como preenchida com dados mesmo após o item DataSet é removido do cache. Isso ocorre porque a propriedade EnableViewState estiver definida como True por padrão. Isso mantém o estado do controle e ele não está relacionado a manipulação de entrada de cache no código. Para uma representação mais visual do estado do controle em cada fase, defina EnableViewState para False .
Em uma situação real, a matriz de chave de cache (no exemplo, a matriz de chaves ) pode mantenha teclas de cache para outras tabelas ou outros itens do cache. Se uma das alterações itens, em seguida, a entrada de cache (no exemplo, CacheDataSetEmployees ) para o item criado com essa dependência é removida do cache. Você pode reagir através de um retorno de chamada caso você precise. Para obter mais informações sobre retornos de chamada, consulte a seção "Referências" posteriormente neste artigo.

Back to the top

Solucionar problemas

  • Os nomes de chaves na matriz de chaves de cache devem ser associados a itens do cache real. Se não forem, o item para o qual a dependência é usada não será mantido no cache corretamente--por exemplo, se a matriz de chaves no código de exemplo contém outro elemento de matriz e o elemento é definido como um nome de chave de cache inválido.
  • A matriz de chaves de cache não tem nenhum significado específico até que ele seja usado com um objeto CacheDependency .
  • Se você inserir um item em cache com nenhuma dependência ou outra expiração, em seguida, o controle de tempo de execução determinará quando remover o item do cache.
Back to the top
Referências
Para informações sobre CacheItemRemovedCallback , visite o seguinte site: Observação CacheItemRemovedCallback define um método de retorno de chamada para notificar os aplicativos quando um item em cache é removido do cache.

Para informações sobre a classe CacheDependency , visite o seguinte site: A classe CacheDependency controla as dependências de cache, como arquivos, pastas ou chaves a outros objetos no cache do aplicativo.

Para obter uma visão geral breve sobre as várias opções de armazenamento em cache disponíveis para o ASP.NET, visite o seguinte site da Microsoft: Para obter informações adicionais, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
305140INFO: Guia de ASP.NET
307225Visão geral sobre o cache do ASP.NET
Back to the top

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 312358 - Última Revisão: 02/24/2014 20:24:23 - Revisão: 4.5

  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • kbnosurvey kbarchive kbmt kbcaching kbdatabase kbhowtomaster KB312358 KbMtpt
Comentários