Passo-a-Passo: Criando um Manipulador HTTP Síncrono

Essa explicação passo-a-passo mostra como criar um manipulador HTTP que executa processamento síncrono de solicitações.O exemplo de manipulador processa as solicitações para recursos em um aplicativo ASP.NET cujo URL termina Com .sample.

Quando os usuários solicitar um recurso cujos termina em .Sample, URL o servidor Web encaminha a solicitação para o ASP.NET.O ASP.NET, em seguida, chama o manipulador HTTP, que retorna uma resposta.A resposta é criada dinamicamente pelo manipulador.Não é necessário que exista um arquivo que possui extensão de nome de arquivo .sample.

Para obter mais informações sobre como o ASP.NET Runtime interage com o IIS 6.0, consulte Ciclo de Vida do Aplicativo ASP.NET uma visão geral para o IIS 5.0 e 6.0.Para obter mais informações sobre a integração com o ASP.NET. IIS 7.0Consulte Uma visão geral do Ciclo de Vida do Aplicativo ASP.NET para o IIS 7.0.

Tarefas ilustradas nesta explicação passo a passo incluem o seguinte:

  • Como criar o código para uma classe manipulador HTTPA classe deve implementar o ProcessRequest Método e a IsReusable Propriedade.

  • Como registrar o manipulador no arquivo Web.config e mapear a extensão de nome de arquivo .sample para ele.

  • Como mapear a extensão de nome de arquivo .sample para o ASP.NET nos Serviços de Informações da Internet (IIS).

    Observação:

    O Servidor de Desenvolvimento do ASP.NET servirá a solicitação para o recurso depois do arquivo de configuração ser alterado para incluir uma referência ao novo manipulador.Para obter mais informações sobre o ASP.NET Servidor de Desenvolvimento, consulte Servidores Web no Visual Web Developer.Para ativar o IIS para servir a solicitação, consulte os procedimentos posteriores desta explicação passo a passo.

Pré-requisitos

A fim de concluir este explicação passo a passo, será necessário:

  • ou Visual Web Developer.

  • Um site da Web ASP.NET que possa ser executado por meio do IIS.

  • O IIS 6.0 ou IIS 7.0.

Criar uma classe manipulador HTTP síncrona

Para criar a classe manipulador HTTP HelloWorldHandler personalizada

  1. Se o site da Web em que você estiver trabalhando ainda não tiver uma pasta App_Code, crie uma na raiz do site.

  2. Na App_Code Diretório, crie uma classe chamada HelloWorldHandler e adicione o seguinte código ao arquivo de classe.

    Importações System.Web
    
    Público IHttpHandler Implements HelloWorldHandler de classe
    
        Público Sub ProcessRequest(ByVal Contexto As _ System.Web.HttpContexto) Implements _ System.Web.IHttpHandler.ProcessRequest esmaecer solicitar como HttpRequest = Contexto.Request Dim resposta como HttpResponse = Contexto.Response ' Esse manipulador é chamado quando Nunca um final de arquivo ' Em .Sample é solicitada. Um arquivo com a extensão ' Não precisa existir. Resposta.Gravar ("< HTML >") ("< corpo >") Resposta.Gravar Resposta.Gravar("<H1>Hello de a Synchronous Personalizar HTTP handler.</H1>") Resposta.Gravar("</body>") Resposta.Gravar("</HTML>") End Sub
    
        Pública IsReusable() propriedade ReadOnly como Booleano _ Implements System.Web.IHttpHandler.IsReusable Obter retorno False end Get END Propriedade end Class
    
    Usando System.Web; Classe pública HelloWorldHandler: IHttpHandler {pública HelloWorldHandler() {} pública void ProcessRequest (contexto HttpContext) {solicitação HttpRequest = Context.Request; Resposta HttpResponse = Context.Response; / / Esse manipulador é chamada sempre que um final de arquivo / / na .Sample é solicitada. Um arquivo com a extensão / / não precisa existir. Response.Write ("< HTML >"); Response.Write ("< corpo >"); Response.Write("<H1>Hello from a Synchronous Custom HTTP handler.</H1>"); Response.Write("</body>"); Response.Write("</HTML>");  Pública bool IsReusable {/ / para ativar o pool, retornar Verdadeiro aqui. / / Isso mantém o manipulador na memória. Obtenha {retorno False; } } }
    

    O código implementa o ProcessRequest Método e grava uma seqüência de caracteres para o Response Propriedade do atual HttpContext Objeto.

Registrando o manipulador HTTP personalizado no IIS 6,0

Depois de criar a classe manipulador HTTP personalizada, você deve registrá-la no arquivo Web.config do aplicativo.Isso permite que o ASP.NET localize o manipulador quando as solicitações são feitas para os recursos cujo URL termina Com .sample.

T aqui são diferentes procedimentos para registrar o manipulador, de acordo com como se você estiver trabalhar com o IIS 6.0 ou IIS 7.0.Esta seção descreve como registrar um manipulador no IIS 6.0.A Avançar seção descreve como registrar um manipulador no IIS 7.0.

Para registrar o manipulador no IIS 6.0

  1. Se o site da Web ainda não tiver um arquivo Web.config, crie um na raiz do site.

  2. Adicione o seguinte elemento realçado ao arquivo Web.config.

    < configuração > < system.web >
      < httpHandlers >    < Adicionar verbo = " * " Caminho = "*.Sample"      Tipo = "HelloWorldHandler" / >  < / httpHandlers >
      < /system.web > < / configuração >
    

    O elemento de configuração registra o manipulador personalizado pelo nome da classe, e ele mapeia a extensão de nome de arquivo .sample a esse manipulador.

    Registrar um mapeamento de extensão de aplicativo para o .Sample Nome do Arquivo extensão usando IIS Manager.Para obter mais informações, consulte Como: Configurar uma extensão de manipulador HTTP no IIS.

Registrando o manipulador HTTP personalizado no IIS 7.0

Em IIS 7.0Um aplicativo pode executar no modo clássico ou integrada.No modo Clássico, as solicitações são processadas da mesma maneira como eles estão no IIS 6.0.No modo integrado. IIS 7.0 gerencia solicitações usando um pipeLinha que permite que ele compartilhar as solicitações, módulos e outros recursos com o ASP.NET.

Para IIS 7.0o registro do Manipulador requer o registrar o manipulador no arquivo web.config ou em IIS Manager.Devido a administração centralizada no. IIS 7.0As alterações no arquivo web.config do aplicativo são Refletido na IIS Manager interface para o aplicativo e vice-versa.Nos procedimentos os seguir, os manipuladores são registrados no arquivo Web.config.

T aqui são diferentes procedimentos para registrar o manipulador IIS 7.0 executando em modo clássico e sendo executado no modo integrado.Siga o procedimento para o modo IIS que você está usando.

Para registrar o manipulador no IIS 7.0 executando no modo clássico

  1. Se o site da Web ainda não tiver um arquivo Web.config, crie um na raiz do site.

  2. Adicione o seguinte elemento realçado ao arquivo Web.config.

    Observação:

    Substitua o caminho correto do arquivo aspnet_isapi.dll.O arquivo .dll está na pasta onde o .NET Framework é instalado.Por padrão é C:\WINDOWS\Microsoft.NET\Framework\version.

    < configuração > < system.web >
      < httpHandlers >    < Adicionar verbo = " * " Caminho = "*.Sample"      Tipo = "HelloWorldHandler" / >  < / httpHandlers >
      < /system.web > < System.webServidor >
          < manipuladores >          < Adicionar verbo = " * " Caminho = "*.Sample"                nome = "HelloWorldHandler"                Tipo = "HelloWorldHandler"                Módulos = "IsapiModule" / >                scriptProcessor="%Caminho%\aspnet_isapi.dll "      < / manipuladores >
        < /System.webServer > < / configuração >
    

    O elemento de configuração registra o manipulador personalizado pelo nome da classe e mapeia a extensão de nome de arquivo .sample a esse manipulador.

    Observação:

    Porque você estiver inscrevendo um extensão de nome de arquivo personalizada, você registrar o manipulador em ambos os Manipuladores Seção e a httpHandlers Seção.No modo clássico para compatibilidade Recuar, o manipulador é especificado como um módulo ISAPI usando o Módulos Atributo.O caminho da DLL ISAPI do ASP.NET é especificado usando o scriptProcessor Atributo.O name atributo é necessário o Manipuladores Seção.

Para registrar o manipulador no IIS 7.0 executando no modo Integrado

  1. Se o site da Web ainda não tiver um arquivo Web.config, crie um na raiz do site.

  2. Adicione o seguinte elemento realçado ao arquivo Web.config.

    < configuração > < System.webServidor >
      < manipuladores >    < Adicionar verbo = " * " Caminho = "*.Sample"      nome = "HelloWorldHandler"      Tipo = "HelloWorldHandler" / >  < / manipuladores >
      < /System.webServer > < / configuração >
    

    O elemento de configuração registra o manipulador personalizado pelo nome da classe e mapeia a extensão de nome de arquivo .sample a esse manipulador.

    Observação:

    O registro é Concluído na Manipuladores seção, mas não na httpHandlers Seção.O name atributo é necessário.

Teste o manipulador HTTP personalizado

Depois de ter criado e registrado o manipulador HTTP personalizado, você pode testá-lo.

Para testar o manipulador HTTP personalizado

  1. No navegador, solicitar uma página a partir de aplicativo da Web.

  2. No navegador, Enter um URL que termina em Sample.Por exemplo, digite o seguinte URL:

    https://localhost/SampleAplicativo/Test.Sample
    

    O texto definido na HelloWorldHandler Classe é exibida.

Consulte também

Tarefas

Demonstra Passo a passo: Criar um manipulador HTTP assíncrono

Conceitos

Ciclo de Vida do Aplicativo ASP.NET uma visão geral para o IIS 5.0 e 6.0

Outros recursos

Introdução aos manipuladores HTTP

Ciclo de vida do ASP.NET