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

Traduções deste artigo Traduções deste artigo
ID do artigo: 312358 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

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.SqlClient
    Imports 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:
CacheItemRemovedCallback delegado
http://msdn2.microsoft.com/en-us/library/system.web.caching.cacheitemremovedcallback(vs.71).aspx
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:
Classe CacheDependency
http://msdn2.microsoft.com/en-us/library/system.web.caching.cachedependency(vs.71).aspx
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:
Adicionar itens ao cache
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaddingitemstocache.asp
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

Propriedades

ID do artigo: 312358 - Última revisão: segunda-feira, 24 de fevereiro de 2014 - Revisão: 4.5
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbcaching kbdatabase kbhowtomaster KB312358 KbMtpt
Tradução automática
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.
Clique aqui para ver a versão em Inglês deste artigo: 312358

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com