Сборки и развертывание в Microsoft .NET

Курсовые
Черчение

Теплоэнергетика

Электротехника
Карта

 

Сборки и развертывание Именно благодаря операции развертывания тяжелая работа программиста становится доступной пользователю. Сборки .NET делают развертывание намного более простым и намного более надежным, чем традиционное развертывание Windows. Частное развертывание сборки столь же просто, как копирование компонента сборки в тот же самый каталог, в котором расположена клиентская программа. А общедоступное развертывание сборки регистрирует компонент с уникальным именем (известным как строгое имя) в глобальном кэше сборок, благодаря чему сборка становится доступной для общего использования.

Классы каркаса .NET Framework Невозможно описать в одной главе, или даже в одной книге, все классы каркаса .NET Framework. Хотя и не полностью, классы .NET охватывают большую часть интерфейса 32-разрядных Windows-приложений (Win32 API), так же как и много чего другого. Несмотря на то, что основное внимание было уделено функциональным возможностям, связанным с Internet, однако изменилась и модель разработки приложений в среде Windows.
В этой главе мы сосредоточим наше внимание на классах, которые иллюстрируют ключевые концепции и модели, проявляющиеся повсюду в каркасе .NET Framework. Такой подход представляется нам более плодотворным, чем просто попытаться немного рассказать о каждом классе, который когда-либо мог бы понадобиться, без того, чтобы дать читателю общее представление о классах .NET. В других главах глубже рассматриваются иные части каркаса, такие как Windows Forms (Формы Windows), ASP.NET, безопасность ADO.NET, и сетевые службы (Web Services).
Мы начинаем с рассмотрения концепций отражения и метаданных. Метаданные появляются всюду в .NET и важно понимать, как общеязыковая среда времени выполнения CLR (Common Language Runtime) предоставляет разные услуги (службы, сервисы) прикладным программам. Затем по нескольким причинам мы исследуем файловый ввод/вывод. Во-первых, при этом вводится важное понятие сериализации (преобразования в последовательную форму). Во-вторых, класс Path (Путь) позволяет проиллюстрировать, как отдельные классы каркаса реализуют некоторые или все свои функциональные возможности с помощью статических методов. В-третьих, рассматриваемые в применении к файловому вводу/выводу классы используются для форматирования во многих местах .NET

Программирование в ADO.NET Классы каркаса, предназначенного для работы с базами данных, собраны в ADO.NET. Класс DataSet (Набор данных) позволяет работать с реляционными данными реляционным же способом, независимо от того, есть ли в текущий момент соединение с источником данных. Разъединенный (disconnected) доступ к данным становится все более значимым в многоярусном и Internet-ориентированном мире данных. При использовании такого типа доступа к данным необходимо установить соединение с базой данных только для изменения или получения ее содержимого. Конечно, при желании, можно работать и обычным соединенным (connected) способом.
Источники данных ADO.NET позволяют задавать команды непосредственно источнику данных. При этом не используются промежуточные объекты, такие, как объекты OLEDB (OLE для баз данных), которые находятся между ADO и источником данных. Класс DataAdapter эмулирует источник данных (как набор команд базы данных) и соединение с этим источником данных. Класс DataAdapter реализует интерфейс IDa-taAdapter, являющийся связующим звеном между объектом DataSet (Набор данных) и источником данных. Различия между источниками данных скрыты интерфейсом I DataAdapter. Источники данных OLEDB (OLE для баз данных) позволяют использовать вложенные (nested) транзакции; а источники данных SqlServer этого не позволяют.

ASP.NET и Web-формы Технология ASP.NET, предназначенная для создания Web-приложении, является важной частью платформы .NET. По сравнению с очередной усовершенствованной версией ASP (Active Server Pages — Активные страницы сервера), эта новая технология представляет собой более унифицированную платформу, которая значительно упрощает реализацию сложных Web-приложений В данной главе мы ознакомимся с основами технологии ASP.NET, а также рассмотрим Web-формы, облегчающие создание интерактивных Web-страниц.

Web-службы Распределение функций приложений и возможность использования данных за пределами предприятия, на котором они хранятся, — следующий шаг в развитии компонентной технологии. Количество служб, которые разработчики могут интегрировать в свои приложения, настолько велико, что не приходится даже мечтать о том, чтобы создать их все самостоятельно. Рассмотренный нами конкретный пример, — система бронирования Acme (Acme Reservation System), — представляет собой простую службу. Бюро путешествий Acme (Acme Travel Agency), в состав которого входит система бронирования билетов на авиарейсы и система бронирования мест в гостинице, предоставляет клиентам более широкий спектр услуг.
Отдельному производителю не по силам создать для технологии распределенной обработки данных соответствующую инфраструктуру. Это означает, что и дальше будут сосуществовать, как минимум, миры Java, .NET, переносных компьютеров (ноутбуков) и традиционных (унаследованных) систем. К счастью, протоколы TCP/IP (Transmission Control Protocol/Internet Protocol — протокол управления передачей/протокол Internet) и HTTP (Hypertext Transfer Protocol — протокол передачи гипертекстовых файлов) приобрели статус сетевых стандартов. Они могут послужить базисом при попытке организовать взаимодействие неоднородных (гетерогенных) систем.

Web-узлы и Web-службы, работающие на основе ATL Server Создавать Web-приложения и Web-службы можно несколькими способами Один из них — это использовать технологию ASP NET Такой подход поддерживается в разной степени большинством языков платформы NET Есть и другой подход, поддерживаемый только языком Visual C++ Он состоит в применении сервера ATL Server [ATL Server реализован с помощью неуправляемого C++ и поэтому не относится к основной предметной области NET Впрочем, для некоторых программистов, работающих на Visual C++ ATL является достаточно важной темой]. Остальные, традиционные подходы заключаются в использовании общего шлюзового интерфейса CGI (Common Gateway Interface), и интерфейса прикладного программирования Internet-сервера ISAPI Преимуществом технологии ASP NET являются простота и легкость в использовании Кроме того, поддержка этой технологии несколькими языками означает, что она доступна большему числу программистов и на большем количестве уровней квалификации. Что же касается технологии ATL Server, то ее преимущество состоит в более высокой производительности, чем у ASP NET

Защита, или безопасность — это одно из основных требований к приложениям и при разработке ее следует учитывать не в последнюю очередь Однако из педагогических соображений говорить о защите легче тогда, когда уже состоялось знакомство с прикладной моделью NET, а также с ASP NET и Web-службами Эта глава должна познакомить вас с основными концепциями защиты NET.
Защита не дает пользователю или коду делать то, что им не позволено Традиционно основная задача защиты состояла в том, чтобы ограничивать действия пользователей Платформа NET дает возможность накладывать ограничения и на выполнение кода Например, вы можете запрещать некоторым секциям кода получать доступ к некоторым файлам Это особенно полезно, когда у вас есть общедоступные Web-узлы и Web-службы, где нереально иметь учетные записи, файлы для различных блокировок или другие ресурсы, предназначенные для неизвестного числа пользователей Все это критично тогда, когда приходится выполнять код, созданный независимыми производителями
Важно понимать, что защита платформы NET (или, проще говоря, защита NET) строится поверх системы защиты операционной системы компьютера В данной главе предполагается, что такой операционной системой является Windows 2000 И когда мы будем обсуждать некоторые вопросы защиты, связанные с инфраструктурой операционной системы, в том числе с информационным сервером Internet (Internet Information Server, US), разработанным фирмой Microsoft, то в подробности будем углубляться только в тех местах, которые имеют отношение к NET

Трассировка и отладка в .NET Cложные приложения не всегда удается эффективно отлаживать под управлением отладчика, чтобы узнать, что пошло не так, как надо Дублирование, а также написание условий, необходимых для отладки, становится зачастую сложной задачей В пространстве имен System: : Diagnostics (Система Диагностика) есть определенные классы, которые помогают оснастить ваше приложение инструментальными средствами
Оснастив приложение необходимыми инструментальными средствами, в процессе отладки и трассировки вы сможете сделать его более устойчивым При этом также проясняется общий шаблон того, как каркас разбивает классы на отдельные задачи (запись вывода, управление выводом, назначение вывода) так, чтобы можно было настроить эти отдельные части, и в остальном полностью полагаться на классы Framework Механика оснащения приложения имеет три аспекта

Смешивание управляемого и неуправляемого кода Архитектура .NET поддерживает многочисленные языки программирования. В основном язык C++ выбирают из-за того, что в интерфейс 32-разрядных Windows-приложений (Win32 API), в программирование на основе модели компонентных объектов Microsoft (Component Object Model, COM) и в существующие программы были вложены большие средства. Таким образом, взаимодействие между управляемыми программами .NET общеязыковой среды выполнения CLR (Common Language Runtime) и неуправляемыми решениями и компонентами, написанными на C++, будет представлять интерес для многих программистов, во всяком случае, в обозримом будущем.
На сегодняшний день существуют различные формы взаимодействия, в том числе — протокол SOAP, который позволяет приложениям .NET вызывать Web-сервисы в различных платформах, в том числе в UNIX и в универсальных вычислительных машинах. Однако в этой главе мы остановимся на особом типе взаимодействия: установление связи (сопряжение; согласование) управляемого и неуправляемого кода в системе Windows. Преобладающими моделями программирования на C++ в современных системах Windows являются интерфейс 32-разрядных Windows-приложений (Win32 API) и модель компонентных объектов Microsoft (COM).

Visual Studio.NET Хотя в .NET можно программировать, используя лишь компилятор командной строки, намного легче и приятнее использовать Visual Studio.NET. В этом приложении мы рассмотрим основы использования среды Visual Studio для редактирования, компиляции, запуска и отладки программ. Ознакомившись с ним, вы будете готовы использовать Visual Studio при знакомстве с остальными частями книги. В приложении рассмотрены основы, достаточные для того, чтобы вы смогли начать самостоятельно использовать Visual Studio.

Новая технология .NET, предложенная компанией Microsoft

Основы технологии .NET

Программирование на управляемом C++

Объектно-ориентированное программирование на управляемом C++

Управляемый C++ в .NET Framework

Создание графических пользовательских интерфейсов

Инженерная графика

 

Сопромат