Глава 13. Процессы, домены приложений, контексты и хосты CLR
Здесь выполняется более глубокий анализ структуры загруженного выполняемого файла .NET. Главная цель – иллюстрация взаимосвязи между процессами, доменами приложений и границами контекстов. Определив эти объекты, вы сможете понять, как обслуживается CLR в рамках операционной системы Windows, и расширить свои знания о mscoree.dll. Представленная здесь информация может оказаться очень полезной при освоении материала главы 14.
Глава 14. Создание многопоточных приложений
В этой главе объясняется, как строить многопоточные приложения, и иллюстрируется ряд приемов, которые вы можете использовать для создания программного кода, безопасного с точки зрения многопоточных приложений. В начале главы снова обсуждается тип делегата .NET, и это делается с целью выяснения внутренних механизмов делегата, используемых для поддержки асинхронного вызова методов. Затем исследуются типы пространства имен System.Threading. Здесь обсуждается множество типов (Thread, ThreadStart, и т.п.), позволяющих очень просто создавать дополнительные потоки.
Глава 15. Понимание CIL и роль динамических компоновочных блоков
В этой главе ставится две цели. В первой половине главы рассматриваются синтаксис и семантика CIL, намного более подробно, чем в предыдущих главах. Остаток главы посвящен выяснению роли пространства имен System.Reflection. Emit. С помощью соответствующих типов можно строить программное обеспечение, позволяющее генерировать компоновочные блоки .NET в памяти во время выполнения программы. Компоновочные блоки, определенные и выполняемые в памяти, формально называют динамическими компоновочными блоками.
Часть IV. Программирование с помощью библиотек .NET
К этому моменту вы уже имеете достаточно информации о языке C# и формате компоновочных блоков .NET. Часть IV предлагает расширить ваши новые знания и исследовать целый ряд пространств имен в рамках библиотек базовых классов, в частности файловый ввод-вывод, слой удаленного доступа .NET, конструкцию Windows Forms и доступ к базам данных с помощью ADO.NET.
Глава 16. Пространство имен System.IO
По названию указанного пространства имен можно догадаться, что System.IO обеспечивает взаимодействие со структурой файлов и каталогов соответствующей машины. Из этой главы вы узнаете, как программными средствами можно создать (или уничтожить) систему каталогов, как размещать данные внутри различных потоков (файловых, строковых, в памяти и т.д.) и как выводить их оттуда.
Глава 17. Сериализация объектов
В этой главе рассматриваются сервисы сериализации объектов для платформы .NET. Упрощенно говоря, сериализация позволяет ''консервировать" состояние объекта (или множества связанных объектов) в потоке для использования в будущем. Десериализация (как вы можете догадаться сами) является процессом извлечения объекта из потока для восстановления в памяти с целью использования этого объекта в приложении. Поняв базовые принципы этих процессов, вы сможете управлять процессами сериализации с помощью интерфейса ISerializable и множества новых атрибутов, предлагаемых .NET 2.0.
Глава 18. Удаленное взаимодействие .NET
Вопреки распространенному убеждению. Web-сервисы XML нe являются единcтвенным средством построения распределенных приложений для платформы .NET. Из этой главы вы узнаете о слое удаленного доступа .NET. Вы увидите, что CLR поддерживает простые возможности обмена объектами между приложениями из разных доменов и на разных машинах, используя семантику MBV (marshal-bу-value – маршалинг по значению) и MBR (marshal-by-reference – маршалинг по ссылке). По ходу дела вы узнаете, как в декларативной форме во время выполнения можно изменить поведение распределенного .NET-приложения, используя XML-файлы конфигурации.
Глава 19. Создание окон с помощью System.Windows.Forms
В этой главе начинается ваше знакомство с пространством имен System.Windows.Forms. Подробно обсуждается вопрос построения традиционных приложений с графическим интерфейсом, поддерживающим системы меню, панели инструментов и строки состояния. Как и следует ожидать, здесь рассматриваются различные аспекты проектирования форм в Visual Studio 2005. а для .NET 2.0 – целый ряд типов Windows Forms (MenuStrip, ToolStrip и т.п.).
Глава 20. Визуализация графических данных средствами GDI+
В этой главе говорится о том, как реализовать динамическую визуализацию графических данных в приложении Windows Forms. Кроме обсуждения вопросов обработки шрифтов, цветовых данных, геометрических образов и файлов изображений, в этой главе рассматриваются вопросы проверки попадания в заданную область и техника перетаскивания объектов в рамках графического интерфейса. Вы узнаете о новом формате ресурсов .NET, который, как вы уже можете догадываться к этому моменту, основан на XML-представлении данных.
Глава 21. Использование элементов управления Windows Forms
Эта глава является последней из глав книга связанных с обсуждением приложении для Windows, и здесь будет рассмотрено множество элементов графического интерфейса, предлагаемых в .NET Framework 2.0. Вы научитесь использовать различные элементы управления Windows Forms, узнаете о приемах разработки диалоговых окон и наследовании форм. В этой же главе рассматривается возможность построения пользовательских элементов управления Windows Forms, которые можно интегрировать в IDЕ (Integrated Development Environment – интегрированная среда разработки).
Глава 22. Доступ к базам данных с помощью ADO.NET
ADO.NET – это API (Application Programming Interface – интерфейс программирования приложений) доступа к данным Для платформы .NET. Вы увидите, что с типами ADO.NET можно взаимодействовать как на связном уровне ADO.NET, так и несвязном. В этой главе будут рассмотрены оба эти режима ADO.NET, а также некоторые новые возможности, связанные с .NET 2.0, включая модель источника данных, построители строк соединений и асинхронный доступ к базам данных.
Часть V. Web-приложения и Web-сервисы XML
Эта часть книги посвящена созданию Web-приложений ASP.NET и Web-сервисов XML. Из материала первых двух глав этой части вы узнаете, что ASP.NET 2.0 является значительным шагом вперед по сравнению с ASP.NET 1.x и предлагает множество новых возможностей.
Глава 23. Web-страницы и Web-элементы управления ASP.NET 2.0
В этой главе начинается изучение Web-технологий, поддерживаемых в рамках платформы .NET с помощью ASP.NET. Вы увидите, что программный код сценариев серверной стороны теперь заменяется "реальными" объектно-ориентированными языками (такими как C#, VB .NET и им подобными). Здесь будут рассмотрены ключевые для ASP.NET вопросы, такие как работа с файлами, содержащими внешний программный код поддержки, роль Web-элементов управления ASP.NET, использование элементов управления, связанных с контролем ввода, и взаимодействие с новой моделью "шаблона страницы", предлагаемой ASP.NET 2.0.
Глава 24. Web-приложения ASP.NET 2.0
Эта глава расширяет ваши знания о возможностях ASP.NET с помощью рассмотрения различных способов управления состоянием объектов в рамках .NET. Подобно классической модели ASP, приложение ASP.NET позволяет создавать файлы cookie, а также переменные уровня приложения или сеанса. Однако ASP.NET предлагает и новую технологию управления состояниями – это кэш приложения. Рассмотрев многочисленные способы обработки состояний в ASP.NET, вы сможете выяснить роль базового класса System.HttpApplication (скрытого в файле Global.asax) и научиться динамически менять поведение Web-приложения в среде выполнения, используя файл Web.config.
Глава 25. Web-сервисы XML
В этой последней главе книги выясняется роль Web-сервисов XML и рассматриваются возможности их создания в рамках .NET. Грубо говоря, Web-сервис- это компоновочный блок, активизируемый с помощью стандартных HTTP-запросов. Преимущество этого подхода заключается в там. что HTTP является сетевым протоколом, применяемым почти повсеместно, поэтому он прекрасно подходах для использования в распределенных системах, нейтральных в отношении различных платформ и языков. Здесь же вы узнаете о множестве сопутствующих технология (WSDL, SOAP и UDDI), которые обеспечивают гармонию взаимодействия Web-сepвиса и внешнего клиента.
Исходный код примеров книги
Программный код всех примеров из этой книги (с точностью до встречающихся кое-где небольших фрагментов) доступен для загрузки из раздела исходного кода Web-узда издательства. Выполнив поиск по названию книги, перейдите на ее "домашнюю" страницу, откуда вы сможете загрузить файл *.zip с исходным кодом примеров. После распаковки содержимого этого файла вы обнаружите соответствующий программный код, разделенный по главам.
Обратите внимание на то, что в книге в разделах с названием Исходный код указано, где содержится программный код обсуждаемого примера. Этот программный код можно загрузить в Visual Studio 2005 для проверки и модификации.