aspose.info
PT

Extensão de arquivo ASHX - um arquivo ASP.NET Web Handler

Atualizado em

O que é um arquivo ASHX?

Um arquivo ASHX é uma página da Web que é usada pelo ASP.NET HTTP Handler para servir ao usuário com as páginas referenciadas dentro desse arquivo. O ASP.NET HTTP Handler processa a solicitação de entrada, faz referência às páginas do arquivo .ashx e envia de volta a página compilada ao navegador do usuário. O método de processamento é muito semelhante ao dos arquivos ASPX com a diferença de que, neste caso, as páginas/documentos referenciados são processados e enviados de volta.

Formato de arquivo ASHX

Os arquivos .ashx são salvos em formato de arquivo de texto simples e contêm referências a outras páginas ou documentos que são enviados de volta ao navegador do usuário mediante solicitação. Eles podem ser abertos em qualquer editor de texto e IDEs de desenvolvedor, como Xamarin Studio, Microsoft Notepad, Notepad++ e muitos outros. Os arquivos ASHX são úteis caso você tenha:

  • Arquivos binários
  • Visualizações de imagens dinâmicas
  • Páginas da web com desempenho crítico
  • Arquivos XML
  • Páginas da web mínimas

Como compilar dinamicamente um arquivo ASHX?

As etapas a seguir podem ser usadas para adicionar e compilar um arquivo ASHX usando o Microsoft Visual Studio.

  • adicione um manipulador genérico - Handler1.ashx no visual studio
  • exclua o arquivo cs que foi criado automaticamente.
  • abra o ashx novamente, ** remova CodeBehind=“Handler1.ashx.cs” ** adicione o código c# abaixo
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

public class Handler1 : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        context.Response.Write("Hello World2");
}

    public bool IsReusable
    {
        get
        {
            return false;
    }
}
}

Exemplo ASHX

O código ASHX a seguir retorna o arquivo de imagem à solicitação do usuário quando o arquivo ASHX é chamado no navegador da Internet.

<%@ WebHandler Language="C#" Class="QueryStringHandler" %>  


using System;  

using System.Web;  


public class QueryStringHandler : IHttpHandler   

{  

    public void ProcessRequest (HttpContext context)   

    {  

        HttpResponse r = context.Response;  

        r.ContentType = "image/png";  

        string file = context.Request.QueryString["file"];  

        if (file == "Arrow")  

        {  

            r.WriteFile("Arrow.gif");  

        }  

        else  

        {  

            r.WriteFile("Image.gif");  

        }  

    }  


    public bool IsReusable   

    {  

        get  

        {  

            return false;  

        }  

    }  

}  

Referências

Veja também