¿Qué es el formato de archivo ASHX?
La extensión .ashx identifica un ASP.NET Generic HTTP Handler, un componente del lado del servidor desarrollado por Microsoft. A diferencia de una página ASP.NET estándar, un manejador .ashx procesa solicitudes HTTP directamente y transmite una respuesta (datos binarios, JSON, imágenes o archivos) sin la sobrecarga de renderizado de página completa de una página .aspx normal.
Un archivo fuente .ashx genuino es texto plano. Comienza con una línea de directiva como <%@ WebHandler Language="C#" Class="MyHandler" %>, seguida de una clase que implementa la interfaz IHttpHandler. El código interno está escrito en C# o VB.NET; el volumen suele ser relativamente pequeño, ya que los manejadores se crean específicamente para una sola tarea.
Los archivos .ashx pueden aparecer inesperadamente al intentar descargar un archivo de un sitio web. Esto ocurre cuando un manejador que sirve el archivo -una imagen, un documento PDF u otro recurso- no establece el encabezado Content-Disposition correcto, por lo que el navegador guarda la respuesta con un sufijo .ashx en lugar de la extensión prevista.
Para recuperar dicho archivo, puede usar un truco simple: cámbiele el nombre cambiando .ashx por la extensión correcta (por ejemplo, .pdf para un documento PDF, o .jpg para una imagen), luego intente abrirlo con cualquier aplicación que admita ese formato. El mismo método se aplica a otros tipos de archivos: simplemente cambie la extensión a la adecuada y abra el archivo con un programa que admita el formato dado.
Seguridad y protección
RIESGO: LOWLa extensión .ashx en sí misma no dice nada sobre la seguridad: en una URL es solo un punto de acceso de un sitio web normal; trate el sitio como lo haría con cualquier otro (tenga cuidado con el phishing en las páginas de inicio de sesión). Una descarga que llegó como .ashx suele ser el archivo real (PDF, imagen) con el nombre incorrecto y es seguro cambiarle el nombre y abrirlo. Solo tenga precaución con las descargas .ashx inesperadas de fuentes no confiables: inspecciónelas como texto o por su tipo real antes de abrirlas, y nunca ejecute nada que intenten lanzar.
Detalles del formato
en pocas palabrasProgramas que abren archivos ASHX
Detalles técnicos
especificación profunda| Desarrollador | Microsoft |
| Plataforma | ASP.NET (.NET Framework; también compatible en el modo de compatibilidad temprana de ASP.NET Core) |
| Contenido del archivo | Texto plano; se abre con una directiva `<%@ WebHandler %>` seguida de un cuerpo de clase C# o VB.NET |
| Interfaz implementada | `IHttpHandler` (síncrona) o `IHttpAsyncHandler` (operaciones asíncronas) |
| Sintaxis de la directiva | `%@ WebHandler Language="C#" Class="ClassName" %>` |
| Lenguajes compatibles | C# y VB.NET |
| Tipo MIME predeterminado | `text/html`; el manejador anula esto configurando `context.Response.ContentType` antes de escribir la salida |
| Patrón de acceso URL | Invocado directamente como un punto de acceso URL (por ejemplo, `download.ashx?id=1`); no es una página de navegador renderizada |
| Registro en el servidor | Mapeado en `web.config` o mapeos de manejadores de IIS; el tiempo de ejecución de ASP.NET enruta las solicitudes coincidentes a la clase del manejador |
| Firma binaria | Ninguna: archivo de texto plano sin magic bytes; los archivos fuente son identificables solo por la línea de directiva de apertura |
| Estado de sesión | Deshabilitado por defecto; se habilita implementando `IRequiresSessionState` en la clase del manejador |
| Usos comunes | Descargas de archivos, generación dinámica de imágenes, puntos de acceso AJAX/JSON, transmisión de datos binarios o de texto |
| Reemplazo moderno | El middleware de ASP.NET Core, Minimal APIs y las extensiones `IEndpointRouteBuilder` reemplazan a `.ashx` en .NET 5 y versiones posteriores |
| Comportamiento de artefacto de descarga | Los navegadores guardan `.ashx` como sufijo de archivo cuando un manejador omite `Content-Disposition`; cambiar el nombre a la extensión real (`.pdf`, `.jpg`, etc.) recupera el archivo |
| Lanzado | 2002 (ASP.NET 1.0, .NET Framework) |
| Especificación | learn.microsoft.com |
Conversiones de ASHX
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos ASHX.