Přehled rozhraní .NET Framework

.NET Framework je technologie, která podporuje sestavování a spouštění aplikací pro Windows a webových služeb. .NET Framework je navržena tak, aby splňovala následující cíle:

  • Poskytněte konzistentní objektově orientované programovací prostředí bez ohledu na to, jestli je kód objektu uložený a spouštěný místně, spuštěný místně, ale webový nebo spuštěný vzdáleně.

  • Poskytněte prostředí pro spuštění kódu, které:

    • Minimalizuje nasazení softwaru a konflikty verzí.

    • Propaguje bezpečné spuštění kódu, včetně kódu vytvořeného neznámou nebo částečně důvěryhodnou třetí stranou.

    • Eliminuje problémy s výkonem skriptovacích nebo interpretovaných prostředí.

  • Zpřístupněte vývojové prostředí v nejrůznějších různých typech aplikací, jako jsou aplikace založené na Windows a webové aplikace.

  • Sestavte veškerou komunikaci v oborových standardech a zajistěte, aby byl kód založený .NET Framework integrován s jakýmkoli jiným kódem.

Poznámka

.NET Framework 4,8 je poslední verze .NET Framework. .NET Framework se provádí měsíčně s opravami chyb zabezpečení a spolehlivosti. .NET Framework bude i nadále zahrnutá do Windows, aniž by se k nim odebraly žádné plány. nemusíte migrovat aplikace .NET Framework, ale pro vývoj nových aplikací použijte rozhraní .net 5 nebo novější.

.NET Framework se skládá z modulu CLR (Common Language Runtime) a knihovny tříd .NET Framework. Modul CLR (Common Language Runtime) je základem .NET Framework. Představte si modul runtime jako agenta, který spravuje kód v době spuštění a poskytuje základní služby, jako je například Správa paměti, Správa vláken a Vzdálená komunikace, a zároveň vynucování striktního zabezpečení typu a dalších forem přesnosti kódu, které podporují zabezpečení a odolnost. Ve skutečnosti koncept správy kódu je základní princip modulu runtime. Kód, který cílí na modul runtime, je označován jako spravovaný kód, zatímco kód, který necílí na modul runtime, je označován jako nespravovaný kód. Knihovna tříd je komplexní, objektově orientované kolekce opakovaně použitelných typů, které můžete použít k vývoji aplikací od tradičních aplikací z příkazového řádku nebo grafického uživatelského rozhraní (GUI) do aplikací na základě nejnovějších inovací poskytovaných službou ASP.NET, jako jsou webové formuláře a webové služby XML.

.NET Framework mohou být hostovány nespravovanými komponentami, které načítají modul CLR (Common Language Runtime) do procesů a iniciují provádění spravovaného kódu. tím se vytvoří softwarové prostředí, které zneužije spravované i nespravované funkce. .NET Framework neposkytuje pouze několik hostitelů modulu runtime, ale podporuje také vývoj hostitelů modulu runtime třetích stran.

Například ASP.NET hostuje modul runtime, aby poskytoval škálovatelné prostředí na straně serveru pro spravovaný kód. ASP.NET pracuje přímo s modulem runtime a povoluje ASP.NET aplikace a webové služby XML, které jsou popsány dále v tomto článku.

Internet Explorer je příkladem nespravované aplikace, která je hostitelem modulu runtime (ve formě rozšíření typu MIME). Použití aplikace Internet Explorer k hostování modulu runtime umožňuje vkládat spravované součásti nebo ovládací prvky model Windows Forms v dokumentech HTML. Hostování modulu runtime tímto způsobem zpřístupňuje spravovaný mobilní kód, ale s významnými vylepšeními, které nabízí jenom spravované kód, jako je částečně důvěryhodné spuštění a izolované úložiště souborů.

Následující ilustrace znázorňuje vztah společného jazykového modulu runtime a knihovny tříd k vašim aplikacím a celkovému systému. Ilustrace také ukazuje, jak spravovaný kód funguje v rámci větší architektury.

Snímek obrazovky, který ukazuje, jak spravovaný kód funguje v rámci větší architektury.

Následující části popisují hlavní funkce .NET Framework podrobněji.

Funkce modulu CLR (Common Language Runtime)

Modul CLR (Common Language Runtime) spravuje paměť, provádění vlákna, provádění kódu, ověřování v zabezpečení kódu, kompilaci a další systémové služby. Tyto funkce jsou vnitřní pro spravovaný kód, který běží v modulu CLR (Common Language Runtime).

V souvislosti s zabezpečením jsou spravované komponenty přidávány různě stupni důvěryhodnosti v závislosti na řadě faktorů, které zahrnují jejich původ (například Internet, podniková síť nebo místní počítač). To znamená, že spravovaná součást může nebo nemusí být schopná provádět operace přístupu k souborům, operace přístupu k registru nebo jiné citlivé funkce, i když se používá ve stejné aktivní aplikaci.

Modul runtime také vynutil odolnost kódu implementací infrastruktury striktního typu a-Code-ověřování označované jako CTS (Common Type System). CTS zajišťuje, aby veškerý spravovaný kód byl samy popisující. Různé kompilátory jazyka Microsoft a třetích stran generují spravovaný kód, který odpovídá CTS. To znamená, že spravovaný kód může spotřebovávat jiné spravované typy a instance a přitom striktně vynucuje věrnost typu a bezpečnost typů.

Spravované prostředí modulu runtime navíc eliminuje mnoho běžných problémů se softwarem. Například modul runtime automaticky zpracovává rozložení objektů a spravuje odkazy na objekty a uvolňuje je, když již nejsou používány. Tato automatická správa paměti řeší dvě nejběžnější chyby aplikací, nevracení paměti a neplatné odkazy na paměť.

Modul runtime také zrychluje produktivitu vývojářů. Například programátoři zapisují aplikace v jejich vývojovém jazyce, ale ještě plně využívají výhod modulu runtime, knihovny tříd a komponent napsaných v jiných jazycích jinými vývojáři. Každý dodavatel s kompilátorem, který se rozhodne cílit na modul runtime, může to provést. Kompilátory jazyka, které cílí na .NET Framework zpřístupňují funkce .NET Framework existujícímu kódu napsanému v daném jazyce, což výrazně zjednodušuje proces migrace pro stávající aplikace.

I když je modul runtime navržený pro software v budoucnu, podporuje také dnešní a včerejší software. Vzájemná funkční spolupráce mezi spravovaným a nespravovaným kódem umožňuje vývojářům pokračovat v používání nezbytných komponent modelu COM a knihoven DLL.

Modul runtime je navržený tak, aby zvýšil výkon. I když modul CLR (Common Language Runtime) poskytuje mnoho standardních služeb runtime, spravovaný kód není nikdy interpretován. Funkce označovaná jako JIT (just-in-time) umožňuje veškerému spravovanému kódu běžet v nativním strojovém jazyce systému, ve kterém je prováděna. Mezitím správce paměti odebírá možnosti fragmentované paměti a zvyšuje místní paměť – odkaz na další zvýšení výkonu.

Nakonec lze modul runtime hostovat pomocí vysoce výkonných aplikací na straně serveru, například Microsoft SQL Server a Internetová informační služba (IIS). Tato infrastruktura vám umožňuje používat spravovaný kód k psaní obchodní logiky a stále využívat vynikající výkon nejlepších podnikových serverů, které podporují hostování modulu runtime.

.NET Framework – knihovna tříd

Knihovna tříd .NET Framework je kolekce opakovaně použitelných typů, které se úzce integrují s modulem CLR (Common Language Runtime). Knihovna tříd je objektově orientované a poskytuje typy, ze kterých vlastní spravovaný kód odvodí funkčnost. To nejen usnadňuje použití typů .NET Framework, ale také zkracuje čas spojený s učením nových funkcí .NET Framework. Kromě toho komponenty třetích stran integrují plynule s třídami v .NET Framework.

Třídy kolekce .NET Framework například implementují sadu rozhraní pro vývoj vlastních tříd kolekcí. Vaše kolekce tříd se hladce promísí se třídami v .NET Framework.

Jak byste očekávali od objektově orientované knihovny tříd, .NET Framework typy umožňují provádět řadu běžných programovacích úloh, včetně správy řetězců, shromažďování dat, připojení k databázi a přístupu k souborům. Kromě těchto běžných úkolů zahrnuje knihovna tříd typy, které podporují různé specializované vývojové scénáře. .NET Framework můžete použít k vývoji následujících typů aplikací a služeb:

Třídy model Windows Forms jsou komplexní sada opakovaně použitelných typů, které zjednodušují vývoj grafického uživatelského rozhraní systému Windows. Pokud napíšete aplikaci webového formuláře ASP.NET, můžete použít třídy webových formulářů.

Viz také