Dela 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.

  • Tillhandahåll en exekveringsmiljö som:

    • Minimerar konflikter i programvarudistribution och versionshantering.

    • Främjar säker exekvering av kod, inklusive kod som skapats av en okänd eller delvis betrodd tredjepart.

    • 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 oberoende av Windows-uppdateringar med felkorrigeringar för säkerhet och tillförlitlighet. I allmänhet släpps säkerhetsuppdateringar kvartalsvis. .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 i stället för .NET Framework.

.NET Framework består av CLR (Common Language Runtime) och klassbiblioteket för .NET Framework. Den Common Language Runtime är grunden för .NET Framework. Tänk på körmiljön som en agent som hanterar kod vid körningstillfället, tillhandahåller kärntjänster såsom hantering av minne, trådar och fjärrkommunikation, samtidigt som strikt typsäkerhet och andra former av kodriktighet upprätthålls, vilket främjar säkerhet och robusthet. I själva verket är kodhantering ett grundläggande begrepp i körmiljön. Kod som riktar sig mot körmiljön kallas för hanterad kod, medan kod som inte riktar sig mot körmiljön kallas för 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 runtime och tillhandahåller en skalbar servermiljö 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 Common Language Runtime och klassbiblioteket till dina appar och till hela systemet. Bilden visar också hur hanterad kod fungerar inom en större arkitektur.

Skärmbild som visar hur hanterad kod fungerar inom en större arkitektur.

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

Funktioner i den gemensamma språkkörningsmiljön

Den vanliga språkkörningen hanterar minne, trådkörning, kodkörning, verifiering av kodsäkerhet, kompilering och andra systemtjänster. Dessa funktioner är en del av den hanterade kod som körs på Common Language Runtime.

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örtiden säkerställer också kodens robusthet genom att implementera en strikt typ- och kod-verifieringsinfrastruktur som kallas common type system (CTS). CTS säkerställer att all hanterad kod är självbeskrivande. 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örmiljön påskyndar också utvecklar-produktiviteten. 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örmiljön 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örsystemet är utformat för framtidens programvara, har det också stöd för dagens och dåtidens 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örtiden är utformad för att förbättra prestanda. Även om den vanliga språkkörmiljön tillhandahåller många standardtjänster för körningstiden 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