Vad är filformatet ASHX?
Filändelsen .ashx identifierar en ASP.NET Generic HTTP Handler - en serverkomponent utvecklad av Microsoft. Till skillnad från en vanlig ASP.NET-sida, bearbetar en .ashx-hanterare HTTP-begäranden direkt och strömmar ett svar (binärdata, JSON, bilder eller filer) utan den fullständiga sidåtergivningen som en vanlig .aspx-sida kräver.
En äkta .ashx-källfil är vanlig text. Den börjar med en direktivrad som <%@ WebHandler Language="C#" Class="MyHandler" %>, följt av en klass som implementerar gränssnittet IHttpHandler. Koden inuti är skriven i C# eller VB.NET; volymen är ofta relativt liten, eftersom hanterare är specialbyggda för en enskild uppgift.
.ashx-filer kan dyka upp oväntat när du försöker ladda ner en fil från en webbplats. Detta inträffar när en hanterare som levererar filen - en bild, ett PDF-dokument eller en annan resurs - inte anger korrekt Content-Disposition-header, så webbläsaren sparar svaret med ett .ashx-suffix istället för den avsedda filändelsen.
För att återställa en sådan fil kan du använda ett enkelt knep: byt namn på den genom att ändra .ashx till rätt filändelse (till exempel .pdf för ett PDF-dokument, eller .jpg för en bild), och försök sedan öppna den med valfritt program som stöder det formatet. Samma metod gäller för andra filtyper - ändra helt enkelt filändelsen till den korrekta och öppna filen med ett program som stöder det givna formatet.
Säkerhet & trygghet
RISK: LOWFiländelsen .ashx i sig säger ingenting om säkerheten - i en URL är det bara en slutpunkt för en vanlig webbplats; behandla webbplatsen som du skulle göra med vilken som helst (se upp för nätfiske på inloggningssidor). En nedladdning som anlände som .ashx är vanligtvis den riktiga filen (PDF, bild) med fel namn och är säker att byta namn på och öppna. Var försiktig endast med oväntade .ashx-nedladdningar från okända källor - inspektera dem som text eller genom deras riktiga typ innan du öppnar dem, och kör aldrig något de försöker starta.
Formatdetaljer
i ett nötskalProgram som öppnar ASHX-filer
Tekniska detaljer
djup specifikation| Utvecklare | Microsoft |
| Plattform | ASP.NET (.NET Framework; stöds även i tidiga ASP.NET Core-kompatibilitetslägen) |
| Filinnehåll | Vanlig text; börjar med ett `<%@ WebHandler %>`-direktiv följt av en C#- eller VB.NET-klass |
| Implementerat gränssnitt | `IHttpHandler` (synkron) eller `IHttpAsyncHandler` (asynkrona operationer) |
| Direktivsyntax | `<%@ WebHandler Language="C#" Class="ClassName" %>` |
| Språk som stöds | C# och VB.NET |
| Standard MIME-typ | `text/html`; hanteraren åsidosätter detta genom att ställa in `context.Response.ContentType` innan utdata skrivs |
| URL-åtkomstmönster | Anropas direkt som en URL-slutpunkt (t.ex. `download.ashx?id=1`); inte en renderad webbläsarsida |
| Serverregistrering | Mappas i `web.config` eller IIS-hanterarmappningar; ASP.NET-runtime dirigerar matchande begäranden till hanterarklassen |
| Binär signatur | Ingen - vanlig textfil utan magic bytes; källfiler kan endast identifieras genom den inledande direktivraden |
| Sessionsstatus | Inaktiverad som standard; aktiveras genom att implementera `IRequiresSessionState` i hanterarklassen |
| Vanliga användningsområden | Filnedladdningar, dynamisk bildgenerering, AJAX/JSON-slutpunkter, strömning av binär- eller textdata |
| Modern ersättare | ASP.NET Core middleware, Minimal APIs och `IEndpointRouteBuilder`-tillägg ersätter `.ashx` i .NET 5 och senare |
| Beteende vid nedladdning | Webbläsare sparar `.ashx` som filändelse när en hanterare utelämnar `Content-Disposition`; namnbyte till den riktiga filändelsen (`.pdf`, `.jpg`, etc.) återställer filen |
| Släppt | 2002 (ASP.NET 1.0, .NET Framework) |
| Specifikation | learn.microsoft.com |
ASHX-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om ASHX-filer.