Megosztás a következőn keresztül:


A .NET-keretrendszer áttekintése

.NET-keretrendszer egy olyan technológia, amely támogatja a Windows-alkalmazások és webszolgáltatások készítését és futtatását. .NET-keretrendszer a következő célok teljesítésére tervezték:

  • Konzisztens, objektumorientált programozási környezetet biztosít, függetlenül attól, hogy az objektumkódot helyileg tárolják és hajtják végre, helyileg hajtják végre, de webes terjesztve vagy távolról hajtják végre.

  • Adjon meg egy kódvégrehajtási környezetet, amely:

    • Minimalizálja a szoftvertelepítési és verziószámozási ütközéseket.

    • Elősegíti a kód biztonságos végrehajtását, beleértve az ismeretlen vagy félig megbízható harmadik fél által létrehozott kódot is.

    • Kiküszöböli a szkriptelt vagy értelmezett környezetek teljesítményproblémáit.

  • A fejlesztői élmény konzisztenssé tétele számos különböző típusú alkalmazáshoz, például Windows-alapú alkalmazásokhoz és webalapú alkalmazásokhoz.

  • Az iparági szabványokra vonatkozó összes kommunikáció kialakítása annak érdekében, hogy a .NET-keretrendszer alapuló kód integrálható legyen bármely más kóddal.

Feljegyzés

.NET-keretrendszer havonta szervizelik a biztonsági és megbízhatósági hibajavításokkal. .NET-keretrendszer továbbra is szerepelni fog a Windowsban, és nem tervezi az eltávolítását. Nem kell migrálnia a .NET-keretrendszer-alkalmazásokat, de az új fejlesztéshez használja a .NET 6-os vagy újabb verzióját.

.NET-keretrendszer a közös nyelvi futtatókörnyezetből (CLR) és a .NET-keretrendszer osztálytárból áll. A közös nyelvi futtatókörnyezet a .NET-keretrendszer alapja. Gondoljon úgy a futtatókörnyezetre, mint egy ügynökre, amely a végrehajtáskor kezeli a kódot, olyan alapvető szolgáltatásokat nyújtva, mint a memóriakezelés, a szálkezelés és az újraírás, ugyanakkor szigorú típusbiztonságot és a kód pontosságának egyéb formáit is kényszeríti, amelyek elősegítik a biztonságot és a robusztusságot. Valójában a kódkezelés fogalma a futtatókörnyezet alapvető elve. A futtatókörnyezetet célzó kódot felügyelt kódnak nevezzük, míg a futtatókörnyezetet nem célzó kódot nem felügyelt kódnak nevezzük. Az osztálytár az újrafelhasználható típusok átfogó, objektumorientált gyűjteménye, amellyel a hagyományos parancssori vagy grafikus felhasználói felületi (GUI) alkalmazásoktól kezdve a ASP.NET által biztosított legújabb innovációkon alapuló alkalmazásokig, például a webes űrlapok és az XML-webszolgáltatások fejlesztéséhez használhatja.

.NET-keretrendszer üzemeltethetők nem felügyelt összetevők, amelyek betöltik a közös nyelvi futtatókörnyezetet a folyamatukba, és kezdeményezik a felügyelt kód végrehajtását, ezáltal létrehozva egy olyan szoftverkörnyezetet, amely kihasználja a felügyelt és a nem felügyelt funkciókat is. .NET-keretrendszer nem csak több futtatókörnyezeti gazdagépet biztosít, hanem támogatja a külső futtatókörnyezeti gazdagépek fejlesztését is.

Például ASP.NET üzemelteti a futtatókörnyezetet, hogy skálázható, kiszolgálóoldali környezetet biztosítson a felügyelt kódhoz. ASP.NET közvetlenül a futtatókörnyezettel együttműködve engedélyezi ASP.NET alkalmazásokat és XML-webszolgáltatásokat, amelyekről a cikk későbbi részében lesz szó.

Az alábbi ábra a közös nyelvi futtatókörnyezet és az osztálytár és az alkalmazások és az általános rendszer közötti kapcsolatot mutatja be. Az ábra azt is bemutatja, hogyan működik a felügyelt kód egy nagyobb architektúrán belül.

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

A következő szakaszok részletesebben ismertetik a .NET-keretrendszer főbb jellemzőit.

A közös nyelvi futtatókörnyezet funkciói

A közös nyelvi futtatókörnyezet kezeli a memóriát, a szálvégrehajtást, a kódvégrehajtást, a kódbiztonsági ellenőrzést, a fordítást és más rendszerszolgáltatásokat. Ezek a funkciók a közös nyelvi futtatókörnyezetben futó felügyelt kódhoz tartoznak.

A biztonság szempontjából a felügyelt összetevők különböző megbízhatósági fokot kapnak, számos tényezőtől függően, amelyek tartalmazzák a forrásukat (például az internetet, a vállalati hálózatot vagy a helyi számítógépet). Ez azt jelenti, hogy egy felügyelt összetevő lehet, hogy nem képes fájlelérési műveleteket, beállításjegyzék-hozzáférési műveleteket vagy más bizalmas függvényeket végrehajtani, még akkor is, ha ugyanabban az aktív alkalmazásban használják.

A futtatókörnyezet a kód robusztusságát is kikényszeríti egy szigorú típus- és kódellenőrzési infrastruktúra, az úgynevezett common type system (CTS) implementálásával. A CTS biztosítja, hogy minden felügyelt kód önleíró legyen. A különböző Microsoft- és külső nyelvi fordítók olyan felügyelt kódot hoznak létre, amely megfelel a CTS-nek. Ez azt jelenti, hogy a felügyelt kód más felügyelt típusokat és példányokat is használhat, miközben szigorúan kényszeríti a típushűséget és a típusbiztonságot.

Emellett a futtatókörnyezet felügyelt környezete számos gyakori szoftverproblémát kiküszöböl. A futtatókörnyezet például automatikusan kezeli az objektumelrendezést, és kezeli az objektumokra mutató hivatkozásokat, és felszabadítja őket, ha már nem használják őket. Ez az automatikus memóriakezelés megoldja a két leggyakoribb alkalmazáshibát, memóriavesztést és érvénytelen memóriahivatkozást.

A futtatókörnyezet a fejlesztői hatékonyságot is felgyorsítja. A programozók például tetszőleges fejlesztési nyelven írnak alkalmazásokat, de teljes mértékben kihasználják a futtatókörnyezetet, az osztálytárat és a más nyelveken más fejlesztők által írt összetevőket. Ezt bármely fordítószolgáltató megteheti, aki a futtatókörnyezetet célozza meg. A .NET-keretrendszer megcélzó nyelvfordítók elérhetővé teszik a .NET-keretrendszer funkcióit az adott nyelven írt meglévő kód számára, ami jelentősen megkönnyíti a meglévő alkalmazások áttelepítési folyamatát.

Bár a futtatókörnyezetet a jövő szoftvereihez tervezték, a mai és a tegnapi szoftvereket is támogatja. A felügyelt és a nem felügyelt kód közötti interoperabilitás lehetővé teszi a fejlesztők számára, hogy továbbra is használják a szükséges COM-összetevőket és DLL-eket.

A futtatókörnyezetet úgy tervezték, hogy növelje a teljesítményt. Bár a közös nyelvi futtatókörnyezet számos szabványos futtatókörnyezeti szolgáltatást biztosít, a felügyelt kód soha nem lesz értelmezve. A just-in-time (JIT) fordításnak nevezett funkció lehetővé teszi, hogy az összes felügyelt kód annak a rendszernek a natív gépi nyelvén fusson, amelyen a végrehajtást végzi. Eközben a memóriakezelő eltávolítja a töredezett memória lehetőségeit, és növeli a memória helyének referenciáját a teljesítmény további növelése érdekében.

Végül a futtatókörnyezetet nagy teljesítményű, kiszolgálóoldali alkalmazások, például a Microsoft SQL Server és az Internet Information Services (IIS) üzemeltethetik. Ez az infrastruktúra lehetővé teszi, hogy felügyelt kóddal írja meg üzleti logikáját, miközben továbbra is élvezheti az iparág legjobb nagyvállalati kiszolgálóinak kiváló teljesítményét, amelyek támogatják a futtatókörnyezet üzemeltetését.

.NET-keretrendszer osztálytár

A .NET-keretrendszer osztálykódtár olyan újrafelhasználható típusok gyűjteménye, amelyek szorosan integrálhatók a közös nyelvi futtatókörnyezettel. Az osztálytár objektumorientált, és olyan típusokat biztosít, amelyekből saját felügyelt kód származtat funkciókat. Ez nem csak a .NET-keretrendszer típusok használatát teszi egyszerűvé, hanem csökkenti a .NET-keretrendszer új funkcióinak megismeréséhez szükséges időt is. Emellett a külső összetevők zökkenőmentesen integrálhatók a .NET-keretrendszer osztályaival.

A .NET-keretrendszer gyűjteményosztályok például interfészek készletét implementálják a saját gyűjteményosztályok fejlesztéséhez. A gyűjteményosztályok zökkenőmentesen keverednek a .NET-keretrendszer osztályaival.

Ahogy egy objektumorientált osztálytártól elvárná, a .NET-keretrendszer típusok lehetővé teszik számos gyakori programozási feladat elvégzését, beleértve a sztringkezelést, az adatgyűjtést, az adatbázis-kapcsolatot és a fájlhozzáférést. Ezeken a gyakori feladatokon kívül az osztálytár olyan típusokat is tartalmaz, amelyek számos speciális fejlesztési forgatókönyvet támogatnak. A .NET-keretrendszer a következő típusú alkalmazások és szolgáltatások fejlesztésére használható:

A Windows Forms-osztályok olyan újrafelhasználható típusok átfogó készletei, amelyek jelentősen leegyszerűsítik a Windows grafikus felhasználói felületének fejlesztését. Ha ASP.NET webűrlapalkalmazást ír, használhatja a Webes űrlapok osztályokat.

Lásd még