Przegląd programu .NET FrameworkOverview of the .NET Framework

.NET Framework to technologia, która obsługuje Kompilowanie i uruchamianie nowej generacji aplikacji i usług sieci Web XML.The .NET Framework is a technology that supports building and running the next generation of apps and XML Web services. .NET Framework zaprojektowano w celu spełnienia następujących celów:The .NET Framework is designed to fulfill the following objectives:

  • Zapewnianie spójnego zorientowanego obiektowo środowiska programowania, niezależnie od tego, czy kod obiektu jest przechowywany i wykonywany lokalnie, wykonywany lokalnie, ale dystrybuowany z Internetu czy wykonywany zdalnie.To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.

  • Zapewnienie środowiska wykonania kodu, które minimalizuje konflikty wdrażania oprogramowania i przechowywania wersji.To provide a code-execution environment that minimizes software deployment and versioning conflicts.

  • Aby zapewnić środowisko wykonywania kodu, które wspiera bezpieczne wykonywanie kodu, w tym kod utworzony przez nieznaną lub częściowo zaufaną stronę trzecią.To provide a code-execution environment that promotes safe execution of code, including code created by an unknown or semi-trusted third party.

  • Zapewnienie środowiska wykonania kodu, które eliminuje problemy z wydajnością w środowiskach ze skryptami lub interpretowane.To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments.

  • Aby zapewnić spójność dla deweloperów w różnych różnych typach aplikacji, takich jak aplikacje oparte na systemie Windows i aplikacje oparte na sieci Web.To make the developer experience consistent across widely varying types of apps, such as Windows-based apps and Web-based apps.

  • Aby utworzyć całą komunikację z normami branżowymi w celu zapewnienia, że kod oparty na .NET Framework integruje się z jakimkolwiek innym kodem.To build all communication on industry standards to ensure that code based on the .NET Framework integrates with any other code.

Uwaga

Aby uzyskać ogólne wprowadzenie do .NET Framework dla użytkowników i deweloperów, zobacz wprowadzenie.For a general introduction to the .NET Framework for both users and developers, see Getting Started.

.NET Framework składa się ze środowiska uruchomieniowego języka wspólnego (CLR) i biblioteki klas .NET Framework.The .NET Framework consists of the common language runtime (CLR) and the .NET Framework class library. Środowisko uruchomieniowe języka wspólnego jest podstawą .NET Framework.The common language runtime is the foundation of the .NET Framework. Należy traktować środowisko uruchomieniowe jako agenta, który zarządza kodem w czasie wykonywania, zapewniającym podstawowe usługi, takie jak zarządzanie pamięcią, zarządzanie wątkami i komunikacja zdalna, a także wymuszanie ścisłego bezpieczeństwa typów i inne formy dokładności kodu, które promują bezpieczeństwo i niezawodność.Think of the runtime as an agent that manages code at execution time, providing core services such as memory management, thread management, and remoting, while also enforcing strict type safety and other forms of code accuracy that promote security and robustness. W rzeczywistości koncepcja zarządzania kodem jest podstawową zasadą środowiska uruchomieniowego.In fact, the concept of code management is a fundamental principle of the runtime. Kod przeznaczony dla środowiska uruchomieniowego jest znany jako kod zarządzany, podczas gdy kod, który nie jest celem środowiska uruchomieniowego, jest znany jako kod niezarządzany.Code that targets the runtime is known as managed code, while code that doesn't target the runtime is known as unmanaged code. Biblioteka klas to kompleksowa, zorientowana obiektowo Kolekcja typów wielokrotnego użytku, które służą do opracowywania aplikacji w oparciu o tradycyjne aplikacje wiersza polecenia lub graficznego interfejsu użytkownika (GUI) do aplikacji na podstawie najnowszych innowacji oferowanych przez ASP.NET, takich jak sieć Web Formularze i usługi sieci Web XML.The class library is a comprehensive, object-oriented collection of reusable types that you use to develop apps ranging from traditional command-line or graphical user interface (GUI) apps to apps based on the latest innovations provided by ASP.NET, such as Web Forms and XML Web services.

.NET Framework mogą być hostowane przez składniki niezarządzane, które ładują środowisko uruchomieniowe języka wspólnego do ich procesów i inicjują wykonywanie kodu zarządzanego, tworząc w ten sposób środowisko oprogramowania korzystające z funkcji zarządzanych i niezarządzanych.The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code, thereby creating a software environment that exploits both managed and unmanaged features. .NET Framework zawiera nie tylko kilka hostów środowiska uruchomieniowego, ale również obsługuje opracowywanie hostów środowiska uruchomieniowego innych firm.The .NET Framework not only provides several runtime hosts but also supports the development of third-party runtime hosts.

Na przykład ASP.NET hostuje środowisko uruchomieniowe w celu zapewnienia skalowalnego środowiska po stronie serwera dla kodu zarządzanego.For example, ASP.NET hosts the runtime to provide a scalable, server-side environment for managed code. ASP.NET działa bezpośrednio w środowisku uruchomieniowym w celu włączenia aplikacji ASP.NET i usług sieci Web XML, które zostały omówione w dalszej części tego tematu.ASP.NET works directly with the runtime to enable ASP.NET apps and XML Web services, both of which are discussed later in this topic.

Internet Explorer to przykład niezarządzanej aplikacji, która hostuje środowisko uruchomieniowe (w postaci rozszerzenia typu MIME).Internet Explorer is an example of an unmanaged app that hosts the runtime (in the form of a MIME type extension). Korzystanie z programu Internet Explorer do hostowania środowiska uruchomieniowego umożliwia osadzanie składników zarządzanych lub formantów Windows Forms w dokumentach HTML.Using Internet Explorer to host the runtime enables you to embed managed components or Windows Forms controls in HTML documents. Hosting środowiska uruchomieniowego w ten sposób sprawia, że zarządzany kod mobilny jest możliwy, ale z znaczącymi ulepszeniami, które są dostępne tylko w przypadku ofert z kodem zarządzanym, takich jak wykonywanie częściowo zaufane i izolowany magazyn plików.Hosting the runtime in this way makes managed mobile code possible, but with significant improvements that only managed code offers, such as semi-trusted execution and isolated file storage.

Na poniższej ilustracji przedstawiono relacje środowiska uruchomieniowego języka wspólnego i biblioteki klas z aplikacjami oraz do całego systemu.The following illustration shows the relationship of the common language runtime and the class library to your apps and to the overall system. Ilustracja pokazuje również, jak kod zarządzany działa w ramach większej architektury.The illustration also shows how managed code operates within a larger architecture.

Zrzut ekranu pokazujący, jak kod zarządzany działa w ramach większej architektury.

W poniższych sekcjach szczegółowo opisano główne funkcje .NET Framework.The following sections describe the main features of the .NET Framework in greater detail.

Funkcje środowiska uruchomieniowego języka wspólnegoFeatures of the common language runtime

Ś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.The common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. Te funkcje są wewnętrzne dla kodu zarządzanego, który jest uruchamiany w środowisku uruchomieniowym języka wspólnego.These features are intrinsic to the managed code that runs on the common language runtime.

W odniesieniu do zabezpieczeń zarządzane składniki są przyznawane różnym stopniu zaufania, w zależności od różnych czynników, które obejmują ich źródła (takie jak Internet, Sieć przedsiębiorstwa lub komputer lokalny).Regarding security, managed components are awarded varying degrees of trust, depending on a number of factors that include their origin (such as the Internet, enterprise network, or local computer). Oznacza to, że zarządzany składnik może lub może nie być w stanie wykonywać operacji dostępu do plików, operacji dostępu do rejestru ani innych poufnych funkcji, nawet jeśli jest używany w tej samej aktywnej aplikacji.This means that a managed component might or might not be able to perform file-access operations, registry-access operations, or other sensitive functions, even if it's used in the same active app.

Środowisko uruchomieniowe wymusza również niezawodność kodu przez implementację infrastruktury ścisłej weryfikacji typu i kodu o nazwie system typu wspólnego (CTS).The runtime also enforces code robustness by implementing a strict type-and-code-verification infrastructure called the common type system (CTS). CTS gwarantuje, że cały kod zarządzany jest własny opis.The CTS ensures that all managed code is self-describing. Różne kompilatory języka firmy Microsoft i innych firm generują kod zarządzany, który jest zgodny z CTS.The various Microsoft and third-party language compilers generate managed code that conforms to the CTS. Oznacza to, że kod zarządzany może zużywać inne zarządzane typy i wystąpienia, jednocześnie jednocześnie wymuszające wierność i bezpieczeństwo typów.This means that managed code can consume other managed types and instances, while strictly enforcing type fidelity and type safety.

Ponadto zarządzane środowisko uruchomieniowe programu eliminuje wiele typowych problemów z oprogramowaniem.In addition, the managed environment of the runtime eliminates many common software issues. Na przykład środowisko uruchomieniowe automatycznie obsługuje układ obiektu i zarządza odwołaniami do obiektów, zwalniając je, gdy nie są już używane.For example, the runtime automatically handles object layout and manages references to objects, releasing them when they are no longer being used. 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.This automatic memory management resolves the two most common app errors, memory leaks and invalid memory references.

Środowisko uruchomieniowe przyspiesza również produktywność deweloperów.The runtime also accelerates developer productivity. Na przykład programiści piszą aplikacje w ich języku programistycznym, ale w pełni wykorzystują środowisko uruchomieniowe, bibliotekę klas oraz składniki pisane w innych językach przez innych deweloperów.For example, programmers write apps in their development language of choice yet take full advantage of the runtime, the class library, and components written in other languages by other developers. Każdy dostawca kompilatora, który wybiera cel środowiska uruchomieniowego, może to zrobić.Any compiler vendor who chooses to target the runtime can do so. Kompilatory języka, które są przeznaczone dla .NET Framework sprawiają, że funkcje .NET Framework są dostępne dla istniejącego kodu pisanego w tym języku, znacznie przyspieszają proces migracji istniejących aplikacji.Language compilers that target the .NET Framework make the features of the .NET Framework available to existing code written in that language, greatly easing the migration process for existing apps.

Środowisko uruchomieniowe jest przeznaczone dla oprogramowania w przyszłości, ale również obsługuje oprogramowanie z dzisiaj i wczoraj.While the runtime is designed for the software of the future, it also supports software of today and yesterday. Współdziałanie między kodem zarządzanym i niezarządzanym pozwala deweloperom nadal korzystać z niezbędnych składników COM i bibliotek DLL.Interoperability between managed and unmanaged code enables developers to continue to use necessary COM components and DLLs.

Środowisko uruchomieniowe zostało zaprojektowane w celu zwiększenia wydajności.The runtime is designed to enhance performance. Chociaż środowisko uruchomieniowe języka wspólnego udostępnia wiele standardowych usług czasu wykonywania, kod zarządzany nigdy nie jest interpretowany.Although the common language runtime provides many standard runtime services, managed code is never interpreted. Funkcja, która nazywa kompilację just-in-Time (JIT), umożliwia uruchamianie całego kodu zarządzanego w języku macierzystym systemu, w którym jest wykonywane.A feature called just-in-time (JIT) compiling enables all managed code to run in the native machine language of the system on which it's executing. W tym czasie Menedżer pamięci usuwa możliwości fragmentacji pamięci i zwiększa ilość pamięci w odwołaniu, aby zwiększyć wydajność.Meanwhile, the memory manager removes the possibilities of fragmented memory and increases memory locality-of-reference to further increase performance.

Na koniec środowisko uruchomieniowe może być hostowane przez aplikacje po stronie serwera, takie jak Microsoft SQL Server i Internet Information Services (IIS).Finally, the runtime can be hosted by high-performance, server-side apps, such as Microsoft SQL Server and Internet Information Services (IIS). Ta infrastruktura umożliwia korzystanie z kodu zarządzanego do pisania logiki biznesowej, przy jednoczesnym zachowaniu najwyższej wydajności najlepszych serwerów przedsiębiorstwa, które obsługują hosting w czasie wykonywania.This infrastructure enables you to use managed code to write your business logic, while still enjoying the superior performance of the industry's best enterprise servers that support runtime hosting.

Biblioteka klas programu .NET Framework.NET Framework class library

Biblioteka klas .NET Framework jest kolekcją typów wielokrotnego użytku, które są ściśle zintegrowane ze środowiskiem uruchomieniowym języka wspólnego.The .NET Framework class library is a collection of reusable types that tightly integrate with the common language runtime. Biblioteka klas jest zorientowana obiektowo, dostarczając typy, z których pochodzi własny kod zarządzany.The class library is object oriented, providing types from which your own managed code derives functionality. To nie tylko ułatwia używanie typów .NET Framework, ale również skraca czas związany z uczeniem nowych funkcji .NET Framework.This not only makes the .NET Framework types easy to use but also reduces the time associated with learning new features of the .NET Framework. Ponadto składniki innych firm integrują się bezproblemowo z klasami w .NET Framework.In addition, third-party components integrate seamlessly with classes in the .NET Framework.

Na przykład klasy kolekcji .NET Framework implementują zestaw interfejsów do tworzenia własnych klas kolekcji.For example, the .NET Framework collection classes implement a set of interfaces for developing your own collection classes. Klasy kolekcji mieszają się bezproblemowo z klasami w .NET Framework.Your collection classes blend seamlessly with the classes in the .NET Framework.

Zgodnie z oczekiwaniami z biblioteki klas zorientowanej obiektowo typy .NET Framework umożliwiają wykonywanie wielu typowych zadań programistycznych, w tym zadań, takich jak zarządzanie ciągami, zbieranie danych, łączność z bazą danych i dostęp do plików.As you would expect from an object-oriented class library, the .NET Framework types enable you to accomplish a range of common programming tasks, including tasks such as string management, data collection, database connectivity, and file access. Oprócz tych typowych zadań Biblioteka klas zawiera typy, które obsługują różne wyspecjalizowane scenariusze programistyczne.In addition to these common tasks, the class library includes types that support a variety of specialized development scenarios. Użyj .NET Framework, aby opracowywać następujące typy aplikacji i usług:Use the .NET Framework to develop the following types of apps and services:

Klasy Windows Forms to kompleksowy zestaw typów wielokrotnego użytku, które znacznie upraszczają tworzenie interfejsu GUI systemu Windows.The Windows Forms classes are a comprehensive set of reusable types that vastly simplify Windows GUI development. Jeśli piszesz aplikację formularza sieci Web ASP.NET, możesz użyć klas formularzy sieci Web.If you write an ASP.NET Web Form app, you can use the Web Forms classes.

Zobacz takżeSee also