Como executar saída cache com Web services no Visual translation from VPE for Csharp .NET

Traduções deste artigo Traduções deste artigo
ID do artigo: 318299 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Observação Os namespaces a biblioteca de classes .NET Framework seguir mencionados neste artigo:
  • System.Web.Services
  • System.Text
Este artigo passo a passo descreve como criar um serviço da Web ASP.NET que usa o cache de saída de exemplo. Cache de saída armazena em cache o resultado de resposta de saída de um serviço da Web baseado no atributo duração especificada para um WebMethod correspondente.

Observação No ASP.NET 2.0, o método HTTP da página de teste foi alterado de GET para POST. No entanto, realiza o teste não é armazenados em normalmente cache. Se você alterar a página de teste em um aplicativo de serviço da Web do ASP.NET 2.0 para usar GET, cache funciona corretamente. Além disso, o HTTP indica que um agente de usuário (o navegador ou aplicativo de chamada) deve ser capaz de substituir o cache do servidor, definindo o cabeçalho Cache-Control "no-cache." Portanto, aplicativos ASP.NET ignoram resultados em cache quando eles encontrar um cabeçalho "não-cache".

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs são necessários:
  • Microsoft Windows 2000 Professional, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server ou Microsoft Windows XP
  • Microsoft .NET framework
  • Microsoft Internet Information Services (IIS)

Criar um aplicativo ASP.NET novo Web Service

Crie um novo aplicativo de serviço da Web ASP.NET chamado WSCacheSample:
  1. Inicie o Visual Studio NET..
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project para iniciar o Assistente de projeto novo.
  3. Em Project types , selecione translation from VPE for Csharp Visual . Em modelo , selecione ASP.NET Web Service .
  4. Na caixa Location , substitua "WebService #" no caminho de URL pelo nome do seu projeto, WSCacheSample . Se você estiver usando o servidor local, deixe o nome do servidor como http://localhost, para que a caixa local parecido com este:
    http://localhost/WSCacheSample

Criar o serviço da Web de exemplo

  1. No Solution Explorer, clique com o botão direito no nó do projeto, aponte para Add e, em seguida, clique em Add Web Service .
  2. Para o nome, digite CacheDemo.asmx e em seguida, clique em Abrir . O serviço da Web abre no modo Design.
  3. Clique o serviço da Web com o botão direito do mouse e clique em View Code .
  4. Adicione o seguinte código ao arquivo de classe CacheDemo.asmx.cs. Isso adiciona um atributo WebMethod chamado GetCacheEntryTime com um CacheDuration de 60 segundos.
    [WebMethod(CacheDuration=60)]
    public string GetCacheEntryTime(string Name)
    {
    	StringBuilder sb = new StringBuilder("Hi ");
    	sb.Append(Name);
    	sb.Append(", the Cache entry was made at ");
    	sb.Append(System.DateTime.Now.ToString());
    	
    	return(sb.ToString());
    }
    						
    Observação : por padrão, o CacheDuration para um atributo WebMethod é definido como 0, significando que ele não é armazenado em cache.
  5. Como o código de exemplo usa o método de StringBuilder , incluir uma referência ao namespace System.Text . A listagem de espaço para nome para o serviço da Web parecido com este:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Diagnostics;
    using System.Web;
    using System.Web.Services;
    using System.Text;
    						
    Observação : para obter mais informações sobre a classe StringBuilder , visite a seguinte site da Microsoft Developer Network (MSDN):
    Classe StringBuilder
    http://msdn2.microsoft.com/en-us/library/system.text.stringbuilder(vs.71).aspx
  6. No IDE do Visual Studio .NET, clique em Build Solution no menu Build .
  7. No menu arquivo , clique em Salvar tudo para salvar o projeto e os arquivos associados.

O projeto de teste

Agora que você criou o serviço do exemplo CacheDemo da Web, execute o GetCacheEntryTime WebMethod para ver os efeitos da configuração do atributo CacheDuration :
  1. No Solution Explorer, clique com o botão direito do mouse CacheDemo.asmx e, em seguida, clique em Exibir no navegador .

    O arquivo .asmx é aberto no navegador e o atributo WebMethod GetCacheEntryTime é listado como um item com marcadores na parte superior da página.
  2. Clique no link GetCacheEntryTime .
  3. Na caixa nome para o método, digite Jorge e clique em Invoke para executar o atributo WebMethod e retornar o resultado XML. Observe o carimbo de hora que é retornado na mensagem.

    Observação : se a ajudar os WebServices página não aparecer, você pode executar o método de WebService , digitando o seguinte na caixa Endereço na Web navegador:
    http://localhost/wscachesample/cachedemo.asmx/GetCacheEntryTime?Name=Joe
    					
  4. Execute novamente o WebMethod digitando Joe . Observação : se você executar o atributo WebMethod no segundo período de tempo especificado pelo atributo CacheDuration 60, a mesma hora é exibida.
  5. Repita a etapa 4, mas digitar Amy em vez de Joe na caixa nome para o parâmetro de atributo WebMethod .

    Observe que o resultado de carimbo de data / hora é diferente. Isso ocorre porque a saída padrão cache resultado é baseada nos parâmetros do atributo WebMethod . Neste exemplo, Joe é o valor do parâmetro para os dois primeiros testes e a saída em cache é retornada para o segundo teste. Ao usar Amy no teste de terceiro, você recebe um novo resultado. Se você repetir o teste em 60 segundos, você receberá um resultado de saída em cache. A diferença entre a saída cache versão está relacionada com o parâmetro do atributo WebMethod .

Solução de problemas

Ao decidir se deve ou não implementar cache de saída para o serviço da Web, lembre-se que servidor recursos podem ser afetados negativamente se os parâmetros de atributo WebMethod são associados com as solicitações variam amplamente ou se as respostas envolvem grandes quantidades de dados.

Referências

Para obter mais informações sobre a propriedade WebMethodAttribute.CacheDuration e a classe WebMethodAttribute , consulte o tópico a seguir na classe .NET Framework documentação da biblioteca:
Propriedade WebMethodAttribute.CacheDuration
http://msdn2.microsoft.com/en-us/library/system.web.services.webmethodattribute.cacheduration(vs.71).aspx
Para informações adicionais sobre serviços da Web, visite os seguintes sites da MSDN:
Diretrizes de design para XML Web Services criados usando ASP.NET
http://msdn2.microsoft.com/en-us/library/w8excbb0(vs.71).aspx

Usando o atributo WebMethod
http://msdn2.microsoft.com/en-us/library/byxd99hx(vs.71).aspx
Para exemplos adicionais, documentação e links que estão relacionados à programação com o .NET Framework, visite o seguinte site da CodePlex:
http://www.codeplex.com

Propriedades

ID do artigo: 318299 - Última revisão: terça-feira, 28 de agosto de 2007 - Revisão: 6.5
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 2.0
  • Microsoft Web Services Enhancements para Microsoft .NET 1.1
  • Microsoft Web Services (included with the .NET Framework) 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
Palavras-chave: 
kbmt kbcaching kbhowtomaster KB318299 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: 318299

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