Wat is het ASHX-bestandsformaat?
De extensie .ashx identificeert een ASP.NET Generic HTTP Handler - een component aan de serverzijde ontwikkeld door Microsoft. In tegenstelling tot een standaard ASP.NET-pagina, verwerkt een .ashx-handler HTTP-verzoeken rechtstreeks en streamt een antwoord (binaire gegevens, JSON, afbeeldingen of bestanden) zonder de volledige overhead voor het renderen van pagina's van een reguliere .aspx-pagina.
Een echt .ashx-bronbestand is platte tekst. Het begint met een richtlijnregel zoals <%@ WebHandler Language="C#" Class="MyHandler" %>, gevolgd door een klasse die de IHttpHandler-interface implementeert. De code binnenin is geschreven in C# of VB.NET; de omvang is vaak relatief klein, aangezien handlers speciaal zijn gebouwd voor een enkele taak.
.ashx-bestanden kunnen onverwacht verschijnen wanneer u probeert een bestand van een website te downloaden. Dit gebeurt wanneer een handler die het bestand serveert - een afbeelding, een PDF-document of een andere bron - niet de juiste Content-Disposition-header instelt, waardoor de browser het antwoord opslaat met een .ashx-achtervoegsel in plaats van de bedoelde extensie.
Om een dergelijk bestand te herstellen, kunt u een simpele truc gebruiken: hernoem het door .ashx te veranderen in de juiste extensie (bijvoorbeeld .pdf voor een PDF-document, of .jpg voor een afbeelding), en probeer het vervolgens te openen met een applicatie die dat formaat ondersteunt. Dezelfde methode is van toepassing op andere bestandstypen - verander gewoon de extensie naar de juiste en open het bestand met een programma dat het gegeven formaat ondersteunt.
Beveiliging & veiligheid
RISICO: LOWDe extensie .ashx zelf zegt niets over de veiligheid - in een URL is het gewoon een eindpunt van een normale website; behandel de site zoals u elke andere zou behandelen (let op phishing op inlogpagina's). Een download die als .ashx is binnengekomen, is meestal het echte bestand (PDF, afbeelding) met de verkeerde naam en is veilig om te hernoemen en te openen. Wees alleen voorzichtig met onverwachte .ashx-downloads van niet-vertrouwde bronnen - inspecteer ze als tekst of op hun echte type voordat u ze opent, en voer nooit iets uit dat ze proberen te starten.
Formaatdetails
in een notendopProgramma's die ASHX-bestanden openen
Technische details
diepe specificaties| Ontwikkelaar | Microsoft |
| Platform | ASP.NET (.NET Framework; ook ondersteund in vroege ASP.NET Core-compatibiliteitsmodus) |
| Bestandsinhoud | Platte tekst; opent met een `<%@ WebHandler %>`-richtlijn gevolgd door een C#- of VB.NET-klasse |
| Geïmplementeerde interface | `IHttpHandler` (synchroon) of `IHttpAsyncHandler` (asynchrone bewerkingen) |
| Syntaxis richtlijn | `<%@ WebHandler Language="C#" Class="ClassName" %>` |
| Ondersteunde talen | C# en VB.NET |
| Standaard MIME-type | `text/html`; de handler overschrijft dit door `context.Response.ContentType` in te stellen voordat de uitvoer wordt geschreven |
| URL-toegangspatroon | Rechtstreeks aangeroepen als een URL-eindpunt (bijv. `download.ashx?id=1`); geen gerenderde browserpagina |
| Serverregistratie | Toegewezen in `web.config` of IIS-handler-mappings; de ASP.NET-runtime stuurt overeenkomende verzoeken naar de handler-klasse |
| Binaire handtekening | Geen - platte tekstbestand zonder magic bytes; bronbestanden zijn alleen herkenbaar aan de openingsrichtlijnregel |
| Sessiestatus | Standaard uitgeschakeld; ingeschakeld door `IRequiresSessionState` te implementeren op de handler-klasse |
| Veelvoorkomend gebruik | Bestandsdownloads, dynamische generatie van afbeeldingen, AJAX/JSON-eindpunten, streamen van binaire of tekstgegevens |
| Moderne vervanging | ASP.NET Core-middleware, Minimal API's en `IEndpointRouteBuilder`-extensies vervangen `.ashx` in .NET 5 en later |
| Gedrag bij download-artefact | Browsers slaan `.ashx` op als achtervoegsel wanneer een handler `Content-Disposition` weglaat; hernoemen naar de echte extensie (`.pdf`, `.jpg`, enz.) herstelt het bestand |
| Uitgebracht | 2002 (ASP.NET 1.0, .NET Framework) |
| Specificatie | learn.microsoft.com |
ASHX conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over ASHX-bestanden.