Hvad er ASHX-filformatet?
Filendelsen .ashx identificerer en ASP.NET Generic HTTP Handler - en server-side komponent udviklet af Microsoft. I modsætning til en standard ASP.NET-side, behandler en .ashx-handler HTTP-anmodninger direkte og streamer et svar (binære data, JSON, billeder eller filer) uden den fulde side-renderingsoverhead fra en almindelig .aspx-side.
En ægte .ashx-kildefil er almindelig tekst. Den begynder med en direktivlinje såsom <%@ WebHandler Language="C#" Class="MyHandler" %>, efterfulgt af en klasse, der implementerer IHttpHandler-interfacet. Koden indeni er skrevet i C# eller VB.NET; omfanget er ofte relativt lille, da handlere er specialbyggede til en enkelt opgave.
.ashx-filer kan dukke op uventet, når man forsøger at downloade en fil fra et websted. Dette sker, når en handler, der leverer filen - et billede, et PDF-dokument eller en anden ressource - ikke indstiller det korrekte Content-Disposition-header, så browseren gemmer svaret med et .ashx-suffiks i stedet for den tilsigtede filendelse.
For at gendanne en sådan fil kan du bruge et simpelt trick: omdøb den ved at ændre .ashx til den korrekte filendelse (for eksempel .pdf for et PDF-dokument eller .jpg for et billede), og prøv derefter at åbne den med et program, der understøtter det format. Den samme metode gælder for andre filtyper - du skal blot ændre filendelsen til den korrekte og åbne filen med et program, der understøtter det givne format.
Sikkerhed og tryghed
RISIKO: LOWFilendelsen .ashx i sig selv siger intet om sikkerheden - i en URL er det blot et endpoint på et normalt websted; behandl webstedet som ethvert andet (hold øje med phishing på loginside). En download, der ankom som .ashx, er typisk den rigtige fil (PDF, billede) med det forkerte navn og er sikker at omdøbe og åbne. Vær kun forsigtig med uventede .ashx-downloads fra upålidelige kilder - inspicér dem som tekst eller ved deres rigtige type før åbning, og kør aldrig noget, de forsøger at starte.
Formatdetaljer
kort fortaltProgrammer der åbner ASHX-filer
Tekniske detaljer
dyb specifikation| Udvikler | Microsoft |
| Platform | ASP.NET (.NET Framework; også understøttet i tidlig ASP.NET Core-kompatibilitetstilstand) |
| Filindhold | Almindelig tekst; åbner med et `<%@ WebHandler %>`-direktiv efterfulgt af en C#- eller VB.NET-klassekrop |
| Implementeret interface | `IHttpHandler` (synkron) eller `IHttpAsyncHandler` (asynkrone operationer) |
| Direktiv-syntaks | `<%@ WebHandler Language="C#" Class="ClassName" %>` |
| Understøttede sprog | C# og VB.NET |
| Standard MIME-type | `text/html`; handleren tilsidesætter dette ved at indstille `context.Response.ContentType` før output skrives |
| URL-adgangsmønster | Kaldes direkte som et URL-endpoint (f.eks. `download.ashx?id=1`); ikke en renderet browserside |
| Serverregistrering | Mappet i `web.config` eller IIS-handler-mappings; ASP.NET-runtime dirigerer matchende anmodninger til handler-klassen |
| Binær signatur | Ingen - almindelig tekstfil uden magic bytes; kildefiler kan kun identificeres ved den indledende direktivlinje |
| Sessionstilstand | Deaktiveret som standard; aktiveres ved at implementere `IRequiresSessionState` på handler-klassen |
| Almindelige anvendelser | Fildownloads, dynamisk billedgenerering, AJAX/JSON-endpoints, streaming af binære data eller tekstdata |
| Moderne erstatning | ASP.NET Core-middleware, Minimal APIs og `IEndpointRouteBuilder`-udvidelser erstatter `.ashx` i .NET 5 og nyere |
| Adfærd ved download-artefakt | Browsere gemmer `.ashx` som filendelse, når en handler udelader `Content-Disposition`; omdøbning til den rigtige filendelse (`.pdf`, `.jpg`, osv.) gendanner filen |
| Udgivet | 2002 (ASP.NET 1.0, .NET Framework) |
| Specifikation | learn.microsoft.com |
ASHX-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om ASHX-filer.