Omówienie platformy .NET Framework
.NET Framework to technologia, która obsługuje tworzenie i uruchamianie aplikacji systemu Windows i usług internetowych. Program .NET Framework został zaprojektowany w celu spełnienia następujących celów:
Zapewnij spójne, obiektowe środowisko programowania, niezależnie od tego, czy kod obiektu jest przechowywany i wykonywany lokalnie, wykonywany lokalnie, ale dystrybuowany w Internecie, czy wykonywany zdalnie.
Podaj środowisko wykonywania kodu, które:
Minimalizuje konflikty wdrażania oprogramowania i przechowywania wersji.
Promuje bezpieczne wykonywanie kodu, w tym kod utworzony przez nieznaną lub częściowo zaufaną inną firmę.
Eliminuje problemy z wydajnością środowisk skryptowych lub interpretowanych.
Zapewnienie spójności środowiska dewelopera w różnych typach aplikacji, takich jak aplikacje oparte na systemie Windows i aplikacje internetowe.
Utwórz całą komunikację na temat standardów branżowych, aby upewnić się, że kod oparty na programie .NET Framework integruje się z dowolnym innym kodem.
Uwaga
Program .NET Framework jest serwisowany co miesiąc z poprawkami błędów zabezpieczeń i niezawodności. Program .NET Framework będzie nadal dołączany do systemu Windows bez planów jego usunięcia. Nie musisz migrować aplikacji .NET Framework, ale w przypadku nowego programowania użyj platformy .NET 6 lub nowszej.
Program .NET Framework składa się ze środowiska uruchomieniowego języka wspólnego (CLR) i biblioteki klas .NET Framework. Środowisko uruchomieniowe języka wspólnego jest podstawą programu .NET Framework. Środowisko uruchomieniowe można traktować jako agenta, który zarządza kodem w czasie wykonywania, zapewniając podstawowe usługi, takie jak zarządzanie pamięcią, zarządzanie wątkami i komunikacja zdalna, jednocześnie wymuszając ścisłe bezpieczeństwo typu i inne formy dokładności kodu, które promują bezpieczeństwo i niezawodność. W rzeczywistości koncepcja zarządzania kodem jest podstawową zasadą środowiska uruchomieniowego. Kod docelowy środowiska uruchomieniowego jest nazywany kodem zarządzanym, natomiast kod, który nie jest przeznaczony dla środowiska uruchomieniowego, jest znany jako kod niezarządzany. Biblioteka klas to kompleksowa, obiektowa kolekcja typów wielokrotnego użytku, których używasz do tworzenia aplikacji, począwszy od tradycyjnych aplikacji wiersza polecenia lub graficznego interfejsu użytkownika (GUI) po aplikacje oparte na najnowszych innowacjach oferowanych przez ASP.NET, takich jak web forms i usługi sieci Web XML.
Program .NET Framework może być hostowany przez niezarządzane składniki, które ładują środowisko uruchomieniowe języka wspólnego do swoich procesów i inicjują wykonywanie kodu zarządzanego, tworząc w ten sposób środowisko oprogramowania wykorzystujące funkcje zarządzane i niezarządzane. Program .NET Framework nie tylko udostępnia kilka hostów środowiska uruchomieniowego, ale także obsługuje tworzenie hostów środowiska uruchomieniowego innych firm.
Na przykład ASP.NET hostuje środowisko uruchomieniowe w celu zapewnienia skalowalnego środowiska po stronie serwera dla kodu zarządzanego. ASP.NET współpracuje bezpośrednio ze środowiskiem uruchomieniowym, aby umożliwić ASP.NET aplikacjom i usługom internetowym XML, które zostały omówione w dalszej części tego artykułu.
Poniższa ilustracja przedstawia relację środowiska uruchomieniowego języka wspólnego i biblioteki klas z aplikacjami oraz z ogólnym systemem. Na ilustracji przedstawiono również sposób działania kodu zarządzanego w ramach większej architektury.
W poniższych sekcjach opisano bardziej szczegółowo główne funkcje programu .NET Framework.
Funkcje środowiska uruchomieniowego języka wspólnego
Środowisko uruchomieniowe języka wspólnego zarządza pamięcią, wykonywaniem wątków, wykonywaniem kodu, weryfikacją bezpieczeństwa kodu, kompilacją i innymi usługami systemowymi. Te funkcje są wewnętrznie związane z kodem zarządzanym uruchamianym w środowisku uruchomieniowym języka wspólnego.
W odniesieniu do zabezpieczeń zarządzane składniki są przyznawane w różnym stopniu zaufania, w zależności od wielu czynników, które obejmują ich pochodzenie (takie jak Internet, sieć przedsiębiorstwa lub komputer lokalny). Oznacza to, że składnik zarządzany może lub nie może być w stanie wykonywać operacji dostępu do plików, operacji dostępu do rejestru lub innych funkcji poufnych, nawet jeśli jest używany w tej samej aktywnej aplikacji.
Środowisko uruchomieniowe wymusza również niezawodność kodu przez zaimplementowanie ścisłej infrastruktury weryfikacji typu i kodu nazywanej wspólnym systemem typów (CTS). Usługa CTS zapewnia, że cały zarządzany kod jest samoopisujący. Różne kompilatory języka firmy Microsoft i innych firm generują kod zarządzany zgodny z usługą CTS. Oznacza to, że kod zarządzany może korzystać z innych typów zarządzanych i wystąpień, jednocześnie ściśle wymuszając wierność typu i bezpieczeństwo typów.
Ponadto zarządzane środowisko uruchomieniowe eliminuje wiele typowych problemów z oprogramowaniem. Na przykład środowisko uruchomieniowe automatycznie obsługuje układ obiektów i zarządza odwołaniami do obiektów, zwalniając je, gdy nie są już używane. To automatyczne zarządzanie pamięcią rozwiązuje dwa najczęstsze błędy aplikacji, przecieki pamięci i nieprawidłowe odwołania do pamięci.
Środowisko uruchomieniowe przyspiesza również produktywność deweloperów. Na przykład programiści piszą aplikacje w wybranym języku programistycznym, ale w pełni korzystają ze środowiska uruchomieniowego, biblioteki klas i składników napisanych w innych językach przez innych deweloperów. Każdy dostawca kompilatora, który wybierze docelowy środowisko uruchomieniowe, może to zrobić. Kompilatory języka przeznaczone dla platformy .NET Framework udostępniają funkcje programu .NET Framework istniejącemu kodowi napisanemu w tym języku, co znacznie ułatwia proces migracji istniejących aplikacji.
Chociaż środowisko uruchomieniowe jest przeznaczone dla oprogramowania w przyszłości, obsługuje również oprogramowanie dzisiaj i wczoraj. Współdziałanie między zarządzanym i niezarządzanym kodem umożliwia deweloperom dalsze korzystanie z niezbędnych składników COM i bibliotek DLL.
Środowisko uruchomieniowe zostało zaprojektowane w celu zwiększenia wydajności. Mimo że środowisko uruchomieniowe języka wspólnego udostępnia wiele standardowych usług środowiska uruchomieniowego, kod zarządzany nigdy nie jest interpretowany. Funkcja o nazwie just-in-time (JIT) kompilowanie umożliwia uruchamianie całego kodu zarządzanego w natywnym języku maszynowym systemu, na którym jest wykonywane. W międzyczasie menedżer pamięci usuwa możliwości pofragmentowanej pamięci i zwiększa lokalność pamięci w celu dalszego zwiększenia wydajności.
Na koniec środowisko uruchomieniowe może być hostowane przez aplikacje po stronie serwera, takie jak Microsoft SQL Server i Internet Information Services (IIS). Ta infrastruktura umożliwia używanie kodu zarządzanego do pisania logiki biznesowej, jednocześnie korzystając z najwyższej wydajności najlepszych serwerów korporacyjnych w branży, które obsługują hosting środowiska uruchomieniowego.
Biblioteka klas programu .NET Framework
Biblioteka klas programu .NET Framework to kolekcja typów wielokrotnego użytku, które ściśle integrują się ze środowiskiem uruchomieniowym języka wspólnego. Biblioteka klas jest zorientowana na obiekt, zapewniając typy, z których pochodzi własny kod zarządzany. To nie tylko sprawia, że typy platformy .NET Framework są łatwe w użyciu, ale także skracają czas związany z uczeniem się nowych funkcji programu .NET Framework. Ponadto składniki innych firm bezproblemowo integrują się z klasami w programie .NET Framework.
Na przykład klasy kolekcji .NET Framework implementują zestaw interfejsów do tworzenia własnych klas kolekcji. Klasy kolekcji bezproblemowo łączą się z klasami w programie .NET Framework.
Jak można oczekiwać z biblioteki klas zorientowanych obiektowo, typy programu .NET Framework umożliwiają wykonywanie szeregu typowych zadań programistycznych, w tym zarządzania ciągami, zbierania danych, łączności z bazą danych i dostępu do plików. Oprócz tych typowych zadań biblioteka klas zawiera typy, które obsługują różne wyspecjalizowane scenariusze programowania. Program .NET Framework umożliwia opracowywanie następujących typów aplikacji i usług:
Aplikacje konsolowe. Zobacz Kompilowanie aplikacji konsoli.
Aplikacje graficznego interfejsu użytkownika systemu Windows (Formularze systemu Windows). Zobacz Formularze systemu Windows.
Aplikacje Windows Presentation Foundation (WPF). Zobacz Windows Presentation Foundation.
ASP.NET aplikacji. Zobacz Aplikacje internetowe z ASP.NET.
Usługi systemu Windows. Zobacz Wprowadzenie do aplikacji usługi systemu Windows.
Aplikacje zorientowane na usługi przy użyciu programu Windows Communication Foundation (WCF). Zobacz Aplikacje zorientowane na usługi za pomocą programu WCF.
Aplikacje z obsługą przepływu pracy przy użyciu programu Windows Workflow Foundation (WF). Zobacz Windows Workflow Foundation.
Klasy Windows Forms to kompleksowy zestaw typów wielokrotnego użytku, które znacznie upraszczają programowanie w graficznym interfejsie użytkownika systemu Windows. Jeśli piszesz aplikację formularza internetowego ASP.NET, możesz użyć klas Web Forms.