Share via


Översikt över .NET Framework

.NET Framework är en teknik som stöder att skapa och köra Windows-appar och webbtjänster. .NET Framework är utformat för att uppfylla följande mål:

  • Ge en konsekvent, objektorienterad programmeringsmiljö oavsett om objektkod lagras och körs lokalt, körs lokalt men webfördelade eller körs via fjärranslutning.

  • Ange en kodkörningsmiljö som:

    • Minimerar konflikter i programvarudistribution och versionshantering.

    • Främjar säker körning av kod, inklusive kod som skapats av en okänd eller halvbetrott tredje part.

    • Eliminerar prestandaproblem i skriptade eller tolkade miljöer.

  • Gör utvecklarupplevelsen konsekvent i mycket varierande typer av appar, till exempel Windows-baserade appar och webbaserade appar.

  • Skapa all kommunikation med branschstandarder för att säkerställa att kod baserad på .NET Framework integreras med annan kod.

Kommentar

.NET Framework hanteras varje månad med felkorrigeringar för säkerhet och tillförlitlighet. .NET Framework fortsätter att ingå i Windows, utan några planer på att ta bort det. Du behöver inte migrera dina .NET Framework-appar, men för ny utveckling använder du .NET 6 eller senare.

.NET Framework består av CLR (Common Language Runtime) och klassbiblioteket för .NET Framework. Den vanliga språkkörningen är grunden för .NET Framework. Tänk på körningen som en agent som hanterar kod vid körningstillfället, som tillhandahåller kärntjänster som minneshantering, trådhantering och fjärrkommunikation, samtidigt som strikt typsäkerhet och andra former av kodnoggrannhet upprätthålls som främjar säkerhet och robusthet. I själva verket är begreppet kodhantering en grundläggande princip för körningen. Kod som riktar sig mot körningen kallas för hanterad kod, medan kod som inte riktar sig mot körningen kallas ohanterad kod. Klassbiblioteket är en omfattande, objektorienterad samling återanvändbara typer som du använder för att utveckla appar som sträcker sig från traditionella gui-appar (kommandorads- eller grafiskt användargränssnitt) till appar baserat på de senaste nyheterna från ASP.NET, till exempel webbformulär och XML-webbtjänster.

.NET Framework kan hanteras av ohanterade komponenter som läser in den gemensamma språkkörningen i sina processer och initierar körningen av hanterad kod, vilket skapar en programvarumiljö som utnyttjar både hanterade och ohanterade funktioner. .NET Framework tillhandahåller inte bara flera runtime-värdar utan stöder även utveckling av programvärdar från tredje part.

Till exempel ASP.NET är värd för körningen för att tillhandahålla en skalbar miljö på serversidan för hanterad kod. ASP.NET fungerar direkt med körningen för att aktivera ASP.NET-appar och XML-webbtjänster, som båda beskrivs senare i den här artikeln.

Följande bild visar relationen mellan den gemensamma språkkörningen och klassbiblioteket till dina appar och till det övergripande systemet. Bilden visar också hur hanterad kod fungerar inom en större arkitektur.

Screenshot that shows how managed code operates within a larger architecture.

I följande avsnitt beskrivs huvudfunktionerna i .NET Framework i detalj.

Funktioner i den vanliga språkkörningen

Den vanliga språkkörningen hanterar minne, trådkörning, kodkörning, verifiering av kodsäkerhet, kompilering och andra systemtjänster. De här funktionerna är inbyggda i den hanterade kod som körs på den vanliga språkkörningen.

När det gäller säkerhet tilldelas hanterade komponenter varierande grad av förtroende, beroende på ett antal faktorer som inkluderar deras ursprung (till exempel Internet, företagsnätverk eller lokal dator). Det innebär att en hanterad komponent kanske eller kanske inte kan utföra filåtkomståtgärder, registeråtkomståtgärder eller andra känsliga funktioner, även om den används i samma aktiva app.

Körningen framtvingar också kod robusthet genom att implementera en strikt typ-och-kod-verifieringsinfrastruktur som kallas common type system (CTS). CTS säkerställer att all hanterad kod självbeskriver. De olika microsoft- och tredjepartsspråkkompilatorerna genererar hanterad kod som överensstämmer med CTS. Det innebär att hanterad kod kan använda andra hanterade typer och instanser, samtidigt som man strikt framtvingar typåtergivning och typsäkerhet.

Dessutom eliminerar den hanterade miljön för körningen många vanliga programvaruproblem. Till exempel hanterar körningen automatiskt objektlayouten och hanterar referenser till objekt och släpper dem när de inte längre används. Den här automatiska minneshanteringen löser de två vanligaste appfelen, minnesläckor och ogiltiga minnesreferenser.

Körningen påskyndar också utvecklarproduktiviteten. Programmerare kan till exempel skriva appar på valfritt utvecklingsspråk men dra full nytta av körningen, klassbiblioteket och komponenter som skrivits på andra språk av andra utvecklare. Alla kompilatorleverantörer som väljer att rikta in sig på körningen kan göra det. Språkkompilatorer som riktar sig till .NET Framework gör funktionerna i .NET Framework tillgängliga för befintlig kod som skrivits på det språket, vilket avsevärt underlättar migreringsprocessen för befintliga appar.

Även om körningen är utformad för framtidens programvara, har den också stöd för dagens och gårdagens programvara. Samverkan mellan hanterad och ohanterad kod gör att utvecklare kan fortsätta att använda nödvändiga COM-komponenter och DLL:er.

Körningen är utformad för att förbättra prestanda. Även om den vanliga språkkörningen innehåller många standardkörningstjänster tolkas aldrig hanterad kod. En funktion som kallas jit-kompilering (just-in-time) gör att all hanterad kod kan köras på det interna datorspråket i det system där den körs. Samtidigt tar minneshanteraren bort möjligheterna med fragmenterat minne och ökar minneslokaliteten för referens för att ytterligare öka prestandan.

Slutligen kan körningen hanteras av högpresterande appar på serversidan, till exempel Microsoft SQL Server och Internet Information Services (IIS). Med den här infrastrukturen kan du använda hanterad kod för att skriva din affärslogik, samtidigt som du får den överlägsna prestandan hos branschens bästa företagsservrar som stöder runtime-värdtjänster.

.NET Framework-klassbibliotek

Klassbiblioteket för .NET Framework är en samling återanvändbara typer som är nära integrerade med den gemensamma språkkörningen. Klassbiblioteket är objektorienterat och tillhandahåller typer som din egen hanterade kod härleder funktioner från. Detta gör inte bara .NET Framework-typerna enkla att använda, utan minskar också tiden som är associerad med att lära sig nya funktioner i .NET Framework. Dessutom integreras komponenter från tredje part sömlöst med klasser i .NET Framework.

Till exempel implementerar .NET Framework-samlingsklasserna en uppsättning gränssnitt för att utveckla dina egna samlingsklasser. Dina samlingsklasser blandas sömlöst med klasserna i .NET Framework.

Som du kan förvänta dig av ett objektorienterat klassbibliotek kan du med .NET Framework-typerna utföra en rad vanliga programmeringsuppgifter, inklusive stränghantering, datainsamling, databasanslutning och filåtkomst. Förutom dessa vanliga uppgifter innehåller klassbiblioteket typer som stöder en mängd olika specialiserade utvecklingsscenarier. Du kan använda .NET Framework för att utveckla följande typer av appar och tjänster:

Windows Forms-klasserna är en omfattande uppsättning återanvändbara typer som förenklar Windows GUI-utveckling avsevärt. Om du skriver en ASP.NET webbformulärapp kan du använda webbformulärklasserna.

Se även