Che cos'è il formato di file ASHX?
L'estensione .ashx identifica un gestore HTTP generico ASP.NET - un componente lato server sviluppato da Microsoft. A differenza di una normale pagina ASP.NET, un gestore .ashx elabora direttamente le richieste HTTP e trasmette una risposta (dati binari, JSON, immagini o file) senza il sovraccarico di rendering completo della pagina di una normale pagina .aspx.
Un file sorgente .ashx autentico è in testo semplice. Inizia con una riga di direttiva come <%@ WebHandler Language="C#" Class="MyHandler" %>, seguita da una classe che implementa l'interfaccia IHttpHandler. Il codice all'interno è scritto in C# o VB.NET; il volume è spesso relativamente ridotto, poiché i gestori sono costruiti appositamente per un singolo compito.
I file .ashx possono apparire inaspettatamente quando si tenta di scaricare un file da un sito web. Ciò accade quando un gestore che serve il file - un'immagine, un documento PDF o un'altra risorsa - non imposta correttamente l'intestazione Content-Disposition, quindi il browser salva la risposta con il suffisso .ashx invece dell'estensione prevista.
Per recuperare un file di questo tipo, puoi usare un semplice trucco: rinominalo cambiando .ashx con l'estensione corretta (ad esempio, .pdf per un documento PDF, o .jpg per un'immagine), quindi prova ad aprirlo con qualsiasi applicazione che supporti quel formato. Lo stesso metodo si applica ad altri tipi di file - basta cambiare l'estensione in quella corretta e aprire il file con un programma che supporti il formato dato.
Sicurezza e incolumità
RISCHIO: LOWL'estensione .ashx di per sé non dice nulla sulla sicurezza - in un URL è solo un endpoint di un normale sito web; tratta il sito come faresti con qualsiasi altro (attenzione al phishing sulle pagine di login). Un download arrivato come .ashx è in genere il file reale (PDF, immagine) con il nome sbagliato ed è sicuro da rinominare e aprire. Sii cauto solo con i download .ashx inaspettati da fonti non attendibili - ispezionali come testo o tramite il loro tipo reale prima di aprirli, e non eseguire mai nulla che cerchino di avviare.
Dettagli del formato
in sintesiProgrammi che aprono file ASHX
Dettagli tecnici
specifiche approfondite| Sviluppatore | Microsoft |
| Piattaforma | ASP.NET (.NET Framework; supportato anche nella modalità di compatibilità iniziale di ASP.NET Core) |
| Contenuto del file | Testo semplice; si apre con una direttiva `<%@ WebHandler %>` seguita da un corpo di classe C# o VB.NET |
| Interfaccia implementata | `IHttpHandler` (sincrona) o `IHttpAsyncHandler` (operazioni asincrone) |
| Sintassi della direttiva | `<%@ WebHandler Language="C#" Class="ClassName" %>` |
| Linguaggi supportati | C# e VB.NET |
| Tipo MIME predefinito | `text/html`; il gestore lo sovrascrive impostando `context.Response.ContentType` prima di scrivere l'output |
| Modello di accesso URL | Invocato direttamente come endpoint URL (es. `download.ashx?id=1`); non è una pagina browser renderizzata |
| Registrazione del server | Mappato in `web.config` o nelle mappature dei gestori IIS; il runtime ASP.NET instrada le richieste corrispondenti alla classe del gestore |
| Firma binaria | Nessuna - file di testo semplice senza magic bytes; i file sorgente sono identificabili solo dalla riga di direttiva iniziale |
| Stato della sessione | Disabilitato per impostazione predefinita; abilitato implementando `IRequiresSessionState` nella classe del gestore |
| Usi comuni | Download di file, generazione dinamica di immagini, endpoint AJAX/JSON, streaming di dati binari o di testo |
| Sostituzione moderna | Il middleware ASP.NET Core, le Minimal API e le estensioni `IEndpointRouteBuilder` sostituiscono `.ashx` in .NET 5 e versioni successive |
| Comportamento dell'artefatto di download | I browser salvano `.ashx` come suffisso del file quando un gestore omette `Content-Disposition`; rinominando con l'estensione reale (`.pdf`, `.jpg`, ecc.) si recupera il file |
| Rilasciato | 2002 (ASP.NET 1.0, .NET Framework) |
| Specifica | learn.microsoft.com |
Conversioni ASHX
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file ASHX.