Симон Робинсон - C# для профессионалов. Том II
- Название:C# для профессионалов. Том II
- Автор:
- Жанр:
- Издательство:Лори
- Год:2003
- Город:Москва
- ISBN:5-85582-187-0
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Симон Робинсон - C# для профессионалов. Том II краткое содержание
Платформа .NET предлагает новую среду, в которой можно разрабатывать практически любое приложение, действующее под управлением Windows, а язык C# — новый язык программирования, созданный специально для работы с .NET.
В этой книге представлены все основные концепции языка C# и платформы .NET. Полностью описывается синтаксис C#, приводятся примеры построения различных типов приложений с использованием C# — создание приложений и служб Windows, приложений и служб WWW при помощи ASP.NET, а также элементов управления Windows и WWW Рассматриваются общие библиотеки классов .NET, в частности, доступ к данным с помощью ADO.NET и доступ к службе Active Directory с применением классов DirectoryServices.
Для кого предназначена эта книгаЭта книга предназначена для опытных разработчиков, возможно, имеющих опыт программирования на VB, C++ или Java, но не использовавших ранее в своей работе язык C# и платформу .NET. Программистам, применяющим современные технологии, книга даст полное представление о том, как писать программы на C# для платформы .NET.
Основные темы книги• Все особенности языка C#
• C# и объектно-ориентированное программирование
• Приложения и службы Windows
• Создание web-страниц и web-служб с помощью ASP NET
• Сборки .NET
• Доступ к данным при помощи ADO NET
• Создание распределённых приложений с помощью NET Remoting
• Интеграция с COM, COM+ и службой Active Directory
C# для профессионалов. Том II - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
.NET имеет большое количество классов, созданных для поддержки процесса печати. Эти классы позволяют контролировать и извлекать различные настройки принтера и находятся в основном в пространстве имен System.Drawing.Printing
. Существуют также предопределенные диалоговые окна PrintDialog
и PrintPreviewDialog
, которые доступны в пространстве имен System.Windows.Forms
. Процесс печати будет включать вызов метода Show()
на экземпляре одного из этих классов после задания некоторых свойств.
Заключение
В этой главе было рассмотрено рисование на устройстве вывода, реализующиеся в коде приложения, а не с помощью предопределенных элементов управления или диалоговых окон. GDI+ является мощным инструментом, и базовые классы .NET могут помочь при рисовании на устройстве. Мы видели, что этот процесс является в действительности довольно простым, в большинстве случаев можно рисовать текст и сложные фигуры или выводить изображения с помощью пары инструкций C#. Однако управление рисованием — работа, происходящая неявно, включающая определение, что и где нарисовать и нужна ли перерисовка в любой данной ситуации. Это значительно более сложная задача, требующая тщательного проектирования алгоритма. Важно хорошо понимать, как работает GDI+ и какие действия предпринимает Windows для рисования. В частности, с учетом архитектуры Windows важно, чтобы рисование выполнялось с помощью объявления областей окна недействительными, где это возможно, в таком случае система Windows реагирует должным образом на событие Paint.
Существует значительное количество классов .NET, связанных с рисованием, которые невозможно рассмотреть в одной главе, но, зная основные принципы, вовлеченные в рисование, можно изучить их самостоятельно. Просматривая списки их методов в документации и создавая их экземпляры, вы поймете, что они делают. В конце концов, рисование, как почти и любой другой аспект программирования, требует логики, тщательного обдумывания и четких алгоритмов. Используйте это, и вы сможете написать сложные интерфейсы пользователя, не зависящие от стандартных элементов управления. Ваша программа существенно выиграет как в удобстве для пользователя, так и в визуальном представлении. Многие приложения целиком полагаются на элементы управления в своем интерфейсе пользователя. Хотя это и может быть эффективно, такие приложения очень быстро начинают походить друг на друга. Добавляя некоторый код GDI+, чтобы выполнить специальное рисование, можно выделить свое приложение и сделать его внешне более оригинальным.
Глава 22
Доступ в Интернет
В главах 16–18 было показано, как использовать C# для создания мощных и эффективных динамических страниц Web с помощью ASP.NET, а также служб Web. Клиенты, обращающиеся к страницам ASP.NET, по большей части будут пользователями Internet Explorer или какого-либо другого браузера Web. Но иногда необходимо, чтобы создаваемые приложения действовали как клиенты Web. Это может быть, например, если нужно добавить в создаваемые приложения свойства просмотра Web, или, если необходимо, чтобы создаваемые приложения программным путем получали информацию с некоторых web-сайтов. В последнем случае обычно лучше, чтобы сайт реализовал службу Web, но при обращении к внешним сайтам возможно отсутствие контроля за тем, как реализован сайт, и поэтому может не быть другой возможности выбора, кроме программного доступа к сайту, который реализован как стандартные страницы HTML, ASP или ASP.NET.
Именно эту сторону картины мы кратко рассмотрим сейчас. В частности, будут представлены средства базовых классов .NET для использования различных сетевых протоколов, например HTTP для доступа к сетям и Интернету в качестве клиента. Мы обсудим следующие вопросы:
□ Запрос данных из Web и получение ответа от серверов
□ Отправку данных HTTP POST
□ Извлечение информации заголовка HTTP из ответов серверов
Коротко коснемся средств, существующих для прямого доступа к службам нижнего уровня, таким как отправка и получение пакетов TCP и ожидание приема на определенных портах.
Пространства имен System.Net
и System.Net.Sockets
содержат большинство базовых классов .NET, которые связаны с работой в сети с точки зрения клиента. Пространство имен System.Net
обычно связано с операциями более высокого уровня, например загрузкой и выгрузкой файлов и выполнением запросов Web с помощью HTTP и других протоколов, в то время как System.Net.Sockets
содержит классы, связанные с операциями более низкого уровня. Они более полезны при работе непосредственно с сокетами или такими протоколами, как TCP/IP, и используются по большей части для сокрытия соответствующей функции API Windows.
В этой главе используется достаточно практичный подход: представлен ряд постепенно усложняющихся примеров в сопровождении соответствующей теории и с обсуждением сетевых концепций.
Мы начнем с простейшего случая, когда необходимо просто послать серверу запрос и сохранить или обработать полученную информацию.
Класс WebClient
Если необходимо выполнить запрос файла по определенному URL, то, скорее всего, самым простым классом .NET для использования в этом случае окажется System.Net.WebClient
. Это класс максимально высокого уровня, созданный для выполнения базовых операций с помощью одной или двух команд.
Загрузка файлов
Существует два способа загрузки файлов с web-сайта с помощью WebClient
, в зависимости от того, хотим ли мы файл сохранить или обработать его содержимое файла непосредственно внутри приложения. Если нужно просто сохранить файл, то вызывается метод DownloadFile()
. Этот метод получает два параметра: URL, из которого необходимо извлечь файл, и имя файла (или путь доступа), в котором мы хотим сохранить файл.
WebClient Client = new WebClient();
Client.DownloadFile("http://www.Wrox.com/default.htm", "index.htm");
Более часто приложению приходится обрабатывать данные, полученные с web-сайта. Чтобы сделать это, используется метод OpenRead()
, который возвращает ссылку типа Stream
. Затем можно извлекать данные просто из потока.
WebClient Client = new WebClient();
Stream sfrm = Client.OpenRead("http://www.Wrox.com/default.htm");
Пример: базовый клиент Web
Первый пример продемонстрирует использование метода webClient.OpenRead()
. В этом случае содержимое загруженных данных просто выводится в окне списка. Проект создается как стандартное приложение C# для Windows, в него добавляется окно списка с именем listBox1
, в котором выводится содержимое загруженного файла. Затем в конструкторе основной формы делаются изменения:
public Form1() {
InitializeComponent();
System.Net.WebClient Client = new WebClient();
Stream strm = Client.OpenRead("http://www.wrox.com");
Интервал:
Закладка: