Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
34
Добавлен:
27.03.2016
Размер:
44.03 Кб
Скачать

ADO.NET — основная модель доступа к данным для приложений, основанных на Microsoft .NET. Не является развитием более ранней технологии ADO. Скорее представляет собой совершенно самостоятельную технологию. Компоненты ADO.NET входят в поставку оболочки .NET Framework; таким образом, ADO.NET является одной из главных составных частей .NET.

ASP.NET — технология создания веб-приложений и веб-сервисов от компании Майкрософт. Она является составной частью платформы Microsoft .NET и развитием более старой технологии Microsoft ASP. На данный момент последней версией этой технологии является ASP.NET 4.0[1]. ASP.NET внешне во многом сохраняет схожесть с более старой технологией ASP, что позволяет разработчикам относительно легко перейти на ASP.NET. В то же время внутреннее устройство ASP.NET существенно отличается от ASP, поскольку она основана на платформе .NET и, следовательно, использует все новые возможности, предоставляемые этой платформой.

Common Language Runtime (CLR) — «общеязыковая исполняющая среда» — компонент пакета Microsoft .NET Framework, виртуальная машина, исполняющий программы, написанные на .NET-совместимых языках программирования.CLR интерпретирует и исполняет код на языке IL (реализация компиляции которого компанией Microsoft называется MSIL), а также предоставляет MSIL-программам (а следовательно, и программам, написанным на языках высокого уровня, поддерживающих .NET Framework) доступ к библиотекам классов .NET Framework, или так называемой .NET FCL (англ. Framework Class Library).Среда CLR является реализацией спецификации CLI (англ. Common Language Infrastructure), спецификации общеязыковой инфраструктуры компании Microsoft.Основное назначение CLR — выполнение приложений, соблюдение всех программных зависимостей, управление памятью, обеспечение безопасности, интеграция с языками программирования и т.п. Среда выполнения обеспечивает множество сервисов, облегчающих создание и внедрение приложений, и существенно улучшает надежность последних.

Microsoft Intermediate Language

В вышеприведенном дампе намеренно пропущена важная часть — код на языке IL. Когда мы компилируем наш код, результатом этого процесса становится не код на языке, понятном конкретной платформе, а код на промежуточном языке, называемом Microsoft Intermediate Language (MSIL), который представляет собой набор инструкций, не зависящих от конкретного процессора. Ниже приведен IL-код нашего метода Main():

.method public static void Main() cil managed

{

.entrypoint

.custom instance void

[mscorlib]System.STAThreadAttribute::.ctor() = ( 01 00 00 00 )

// Code size 11 (0xb)

.maxstack 8

IL_0000: ldstr "Running under .NET"

IL_0005: call void

[mscorlib]System.Console::WriteLine(string)

IL_000a: ret

} // end of method Cons::Main

Если опустить пролог, наш код занимает 8 ячеек стека и состоит из 3 инструкций. Первая инструкция — ldstr — загружает строку в стек. Инструкция call вызывает указанный метод из сборки и передает ей параметр. Выполнение завершается инструкцией ret. Несмотря на то что язык IL является достаточно простым, писать программы на нем не имеет особого смысла, однако общее понимание инструкций может помочь вам разобраться в логике работы программ, а также ядра .NET Framework. (Дополнительную информацию можно получить из спецификации Common Language Infrastructure, Partition 3. CIL Instruction Set, доступной на Web-сайте фирмы Microsoft.)

Just-In-Time Compiler

Программа на языке IL остается неизменной до тех пор, пока мы не вызовем на выполнение тот файл, в котором она хранится. В момент, когда управление передается среде исполнения, IL-код преобразуется в код для конкретной платформы. Эту задачу выполняет компилятор, называемый Just-In-Time Compiler (JIT). Теоретически только указанный компилятор является компонентом .NET, зависящим от конкретной платформы. Однако на самом деле от платформы также зависят и значительная часть библиотеки классов, и ряд других компонентов, например следующие компоненты платформы .NET:

mscorlib

System

System.Design

System.Drawing

System.Windows.Forms

Тем не менее существует реальная возможность наличия .NET для не-Windows-платформ, и, возможно, уже в ближайшее время мы увидим реализации .NET для Linux.

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

Интересно, что JIT-компилятор не выполняет компиляцию всего IL-кода при первом обращении к программе. Вместо этого каждый метод компилируется при первом обращении к нему, и, таким образом, неиспользуемый код не компилируется. Откомпилированный код хранится в памяти, а последующие обращения к программе выполняют уже откомпилированный код. Microsoft предоставляет специальный компилятор CLR Native Image Generator (NGEN), который выполняет компиляцию всего IL-кода и сохраняет результат на диске

Утили́та (англ. utility или tool) — компьютерная программа, расширяющая стандартные возможности оборудования и операционных систем, выполняющая узкий круг специфических задач.

Reflection

Отражение (reflection) — это средство С#, которое позволяет получить информацию о типе. Термин отражение произошел от характера процесса: объект класса Туре воспроизводит, или отражает, базовый тип, который он представляет. Для получения интересующей вас информации вы "задаете вопросы" объекту класса Туре, а он возвращает (отражает) для вас информацию, связанную с этим типом. Отражение — мощный механизм, позволяющий узнать характеристики типа, точное имя которого становится известным только во время выполнения программы, и соответствующим образом использовать их. Многие классы, которые поддерживают средство отражения, являются частью интерфейса .NET Reflection API, который определен в пространстве имен System.Reflection. Таким образом, в программы, которые используют средство отражения, обычно включается следующая инструкция: using System.Reflection;

.NET

Вообще .NET - среда разработки приложений от Microsoft ориентированная на Internet. Несмотря на то что .NET позволяет создавать обычные Windows-приложения основной упор делается на обмен информацией посредством Internet (через Web-Services). При этом инфраструктурой для новой среды построение приложений является .NET Framework, которую в свою очередь можно разделить на CLR (Common Language Runtime - общеязыковую исполняющую среду) и FCL (Framework Class Library - библиотеку классов, упрощающую разработку). В FCL входят такие библиотеки как Windows Forms, GDI+, ADO.NET, ASP.NET и т.д. Основными преимуществами Framework являются: отсутствие проблем с версиями библиотек; интеграция языков программирования, поддерживающих CLS (Common Language Specification); автоматическое управление памятью; безопасность типов и т.д. В настоящее время

.NET Framework реализован для Win 98/98 SE/Me/NT 4.0/2000/XP/.NET Server Family (aka 2003) + .NET Compact Framework для Windows CE.

За дальнейшей информацией обратитесь [1], [2]

Сборки

Сборки являются структурными элементами приложений .NET Framework; они составляют основную единицу развертывания, управления версиями, повторного использования, областей действия активации и разрешений безопасности. Сборка представляет собой коллекцию типов и ресурсов, собранных для совместной работы и образующих логическую функциональную единицу. Сборка предоставляет среде CLR сведения, необходимые для распознавания реализаций типов. Для среды выполнения тип не существует вне контекста сборки.

Stream

Класс Stream является абстрактным базовым классом всех потоков. Поток — это абстракция последовательности байтов, например файл, устройство ввода-вывода, канал взаимодействия процессов или сокет TCP/IP. Класс Stream и его производные классы предоставляют универсальное представление различных типов ввода и вывода, изолируя программиста от отдельных сведений операционной системы и базовых устройств. При вызове метода Close для класса Stream все данные буфера будут очищены, по сути выполняется вызов метода Flush. Метод Close также освобождает такие ресурсы операционной системы, как дескрипторы файлов, сетевые подключения или память, используемую для внутренней буферизации. Класс BufferedStream предоставляет возможность создания оболочки в виде буферного потока вокруг другого потока, что позволяет повысить производительность при чтении и записи.

Соседние файлы в папке Мулаточки 18+