Часть 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 для проверки и модификации.
Исходный код. В таком примечании указывается ссылка на каталог, содержащий исходный код соответствующего примера.
Для загрузки примера откройте файл *.sln в указанном подкаталоге.
Связь с автором
Если у вас возникнут вопросы в связи с исходным кодом примеров, потребность в дополнительных разъяснениях или просто желание поделиться своими идеями в отношении платформы .NET. без всякого стеснения пишите мне на мой адрес электронной почты atroelsen@IntetechTraining.com (чтобы гарантировать, что ваше сообщение не окажется в корзине моей почтовой системы, укажите "C# ТЕ" в строке темы).
Я постараюсь сделать все возможное, чтобы ответить в приемлемые сроки, но прошу учесть то. что я, как и вы, время от времени бываю очень занят. Если я не отвечай в течение недели или двух, то знайте, что это не из вредности и не потому, что я не хочу общаться с вами. Я просто занят (или, если выпало счастье, нахожусь где-то на отдыхе).
Так что, вперед! Спасибо за то, что вы купили эту книгу (или, как минимум, заглянули в нее в книжном магазине, обдумывая возможность ее покупки). Я надеюсь, что вам будет приятно читать ее, и вы сможете применить полученные знания в благородных делах.
Берегите себя, Эндрю Троелсен.
От издательства
Вы, читатель этой книги, и есть главный ее критик и комментатор. Мы ценим ваше мнение и хотим знать, что было сделано нами правильно, что можно было сделать лучше и что еще вы хотели бы увидеть изданным нами. Нам интересно услышать и любые другие замечания, которые вам хотелось бы высказать в наш адрес.
Мы ждем ваших комментариев и надеемся на них. Вы можете прислать нам бумажное или электронное письмо, либо просто посетить наш Web-сервер и оставить свои замечания там. Одним словом, любым удобным для вас способом дайте нам знать, нравится или нет вам эта книга, а также выскажите свое мнение о том, как сделать наши книги более интересными для вас.
Посылая письмо или сообщение, не забудьте указать название книги и ее авторов, а также ваш обратный адрес. Мы внимательно ознакомимся с вашим мнением и обязательно учтем его при отборе и подготовке к изданию последующих книг.
Наши координаты:
E-mail: info@williamspublishing.com
WWW: http://www.williamspublishing.com
Информация для писем из: России: 115419, Москва, а/я 783 Украины: 03150, Киев, а/я 152
ЧАСТЬ I. Общие сведения о языке C# и платформе .NET
ГЛАВА 1. Философия .NET
Каждые несколько лет программист должен быть готов кардинально обновлять свои знания, чтобы идти в ногу с новыми технологиями. Языки (C++, Visual Basic 6.0, Java), каркасы приложений (MFC, ATL, STL) и архитектуры (COM, CORBA, EJB), которые сегодня составляют "золотой фонд" разработки программного обеспечения, в будущем непременно уступят место чему-то более совершенному или, по крайней мере, более новому. Несмотря на разочарование, которое вы можете ощущать при обновлении своей базы знаний, это неизбежно. Платформа .NET - это сегодняшнее предложение Microsoft в области разработки программного обеспечения.
Целью этой главы является построение концептуального фундамента, необходимого для успешного освоения всего остального материала книги. Слава начинается с обсуждения ряда вопросов .NET, относящихся к высокому уровню, – таких как компоновочные блоки, CIL (общий промежуточный язык) и JIT-компиляция (just-in-time – точно к нужному моменту). Вдобавок к вводному обзору некоторых ключевых возможностей языка программирования C#, будет также обозначена взаимосвязь между различными элементами каркаса .NET, такими как CLR (общая языковая среда выполнения), CTS (общая система типов) и CLS (общие спецификации языка). Как вы вправе ожидать, эти темы будут исследоваться более подробно в других частях книги.
Эта глава также содержит обзор возможностей, предлагаемых библиотеками базовых классов .NET, для обозначения которых иногда используют аббревиатуру BCL (Base Class Libraries – библиотеки базовых классов) или, как альтернативу, FCL (Framework Class Libraries – библиотеки каркасных классов). Наконец, в главе обсуждается независимая от языков и платформ сущность платформы .NET (это действительно так - .NET не замыкается на операционной системе Windows).
Предыдущее состояние дел
Перед рассмотрением специфики .NET будет полезно рассмотреть некоторые проблемы, стимулировавшие появление предлагаемой сегодня платформы Microsoft. Чтобы получить соответствующее представление, давайте начнем эту главу с краткого урока истории, чтобы напомнить об истоках и понять ограничения, существовавшие в прошлом (в конце концов, признание существования проблемы является первым шагом на пути ее решения). После этого мы обратим наше внимание на многочисленные преимущества, которые обеспечиваются языком C# и платформой .NET.
Подход C/Win32 API
Традиционно разработка программного обеспечения для операционных систем семейства Windows предполагает использование языка программирования C в сочетании с Windows API (Application Programming Interface – интерфейс программирования приложений). Несмотря на тот факт, что в рамках этого проверенного временем подхода было создано очень много вполне успешных приложений, мало кто станет оспаривать то, что процесс создания приложений непосредственно с помощью API оказывается очень трудоемким делом.
Первая очевидная проблема заключается в том, что C является очень лаконичным языком. Разработчики программ на языке C вынуждены "вручную" управлять памятью, использовать безобразную арифметику указателей и ужасные синтаксические конструкции. К тому же, поскольку C является структурным языком программирования, ему не хватает преимуществ, обеспечиваемых объектно-ориентированным подходом (здесь можно вспомнить о "макаронных" программах). Когда вы объединяете тысячи глобальных функций и типов данных, определенных в рамках Win32 API, с языком, который и без того выглядит устрашающе, не следует удивляться тому, что среди используемых сегодня программ оказывается так много ненадежных.