Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Надейкина - ТП_ лабы 56789.doc
Скачиваний:
0
Добавлен:
11.02.2026
Размер:
1.73 Mб
Скачать

Архитектура .Net Framework

.NET Framework состоит из двух основных частей:

  • CLR - Common Language Runtime, общеязыковой среды выполнения;

  • библиотеки классов .NET Framework (FCL - Framework Class Library).

Главным компонентом .NET Framework является CLR.

Среда CLR лежит в основе технологии .NET. Среда CLR управляет выполнением кода, написанного на любом из языков семейства .NET.

Такая возможность обеспечена общей системой типов (CTSCommon Type System), которую используют все языки, ориентированные на CLR.

Для обеспечения межъязыкового взаимодействия необходимо придерживаться общеязыковой спецификации (CLSCommon Language Specification), предложенной Microsoft. Эта спецификация ограничивает все многообразие типов того или иного языка программирования тем подмножеством, которое присутствует одновременно во всех языках

Спецификация CTS определяет правила определения типов и особенности их поведения.

Среда CLR оперирует так называемыми сборками.

Сборки (assemblies) — представляют собой .NET-компоненты, которые являются переносимыми исполняемыми файлами (Portable Executable, PE). Эти

файлы являются файлами с расширениями ехе или dll и состоят из метаданных и кода.

Весь код для платформы .NET преобразуется CLR в промежуточный код на языке Common Intermediate Language (CIL). Поэтому разработчики могут

легко интегрировать код, написанный для .NET на различных языках программирования. Все, что можно сделать на одном .NET-совместимом языке, можно сделать на любом другом. Код на этих языках компилируется в код на одном языке — языке CIL.

Код для CLR представляет собой команды псевдомашинного языка CIL. Эти команды компилируются в машинный код соответствующего типа процессора по запросу в период выполнения.

Обычно компиляция метода происходит один раз во время его первого вызова. Затем результат кэшируется в памяти, чтобы избежать задержек при повторных вызовах. JIT-компилятор выполняет оптимизацию кода специально для процессора, на котором исполняется этот код.

JIT-компиляция (англ. Just-in-time compilation, компиляция «на лету»),  — технология увеличения производительности программных систем, использующих байт-код, путём компиляции байт-кода в машинный код  непосредственно во время работы программы.   При этом среда исполнения справляется с поздним связыванием типов и гарантирует безопасность исполнения.

Преобразуя команды CIL в команды процессора, JIT-компилятор выполняет верификацию кода на предмет безопасности типов.

Ресурсы, выделяемые управляемым кодом, освобождаются сборщиком мусора. Иначе говоря, программист только выделяет память, но не освобождает ее — это делает CLR.

NET Framework Class library (FCL)

В .NET включены сборки библиотеки классов .NET - Framework Class library (FCL), содержащие определения нескольких тысяч типов, каждый из которых предоставляет некоторую функциональность.

Наборы "родственных" типов собраны в отдельные пространства имен.

Так, пространство имен System содержит базовый класс Object, из которого, в конечном счете, порождаются все остальные типы.

Кроме того, System содержит типы для целых чисел, символов, строк, обработки исключений, консольного ввода/вывода, группу типов для безопасного преобразования одних типов в другие, форматирования данных, генерации случайных чисел и выполнения математических операций и др..

ADO.NET — технология, предоставляющая доступ к данным  для приложений, основанных на Microsoft .NET.

В отличие от классической технологии ADO, которая была в основном предназначена для тесно связанных клиент-серверных систем, ADO.NET больше нацелена на автономную работу с помощью объектов DataSet. Эти типы представляют локальные копии любого количества взаимосвязанных таблиц данных.

Объекты DataSet позволяют вызывающей сборке (наподобие web-страницы или программы, выполняющейся на настольном компьютере) работать с содержимым DataSet, изменять его, не требуя подключения к источнику данных, и отправлять обратно блоки измененных данных для обработки с помощью соответствующего адаптера данных.

Типы, составляющие ADO.NET, используют протокол управления памятью CLR, и доступ к ним возможен с помощью любого языка .NET. Классы ADO.NET находятся в сборке System.Data.dll. Классы, которые составляют провайдер данных, включают следующие:

- Connection - используется для установки соединения с источником данных.

- Command - используется для выполнения команд SQL и хранимых процедур.

- DataReader - предоставляет быстрый доступ к данным только для чтения.

- DataAdapter. Этот объект выполняет две задачи:

1) наполнение объекта DataSet  информацией, извлеченной из источника данных (автономные данные).

2) применение изменений данных к источнику данных в соответствии с модификациями данных в объекте DataSet.

Функционально классы ADO.NET можно разбить на два уровня: подключенный и отключенный:

В технологии ADO.NET предусмотрена эффективная и гибкая поддержка приложений, распределенных между несколькими компьютерами (серверами баз данных, серверами приложений и клиентскими рабочими станциями). В частности, особая поддержка предусмотрена для отсоединенных приложений с минимизацией нагрузки при работе с параллельными операциями доступа к данным и блокировкой ресурсов сервера базы данных. В результате повышаются возможности масштабирования приложений.