Симон Робинсон - 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 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Классы нижнего уровня
Соответствующие классы определены в пространстве имен System.Net.Sockets
и позволяют, например, посылать непосредственно запросы TCP или ожидать запросы TCP на определенном порте. Основными классами нижнего уровня являются:
Класс | Назначение |
---|---|
Socket |
Низкоуровневый класс, который имеет дело с реальным управлением соединениями. Этот класс используется внутренне такими классами, как WebRequest и TcpClient . |
NetworkStream |
Производный класс из Stream . Представляет поток данных из сети. |
TcpClient |
Позволяет создать соединения для приемников. |
TcpListener |
Позволяет ожидать входящие запросы соединения. |
UdpClient |
Позволяет создать соединения для клиентов UDP. (UDP является альтернативным протоколом для TCP, но используется значительно менее широко, восновном в локальных сетях.) |
Заключение
В этой главе очень кратко были рассмотрены некоторые из базовых классов .NET, которые имеют дело с открытием клиентских соединений в сети и Интернете, а также отправкой запросов и получением ответов от серверов. Наиболее очевидным результатом этого будет получение страниц HTML.
Классы .NET во время написания этой книги по общему признанию слабо охватывали своей поддержкой многие распространенные протоколы, и примечательно, что даже для выполнения такой базовой задачи, как вывод страницы HTML пришлось обращаться к унаследованному элементу управления ActiveX WebBrowser
. (Необходимо сказать, что это не является таким уж большим недостатком, поскольку возможность взаимодействия .NET COM и Visual Studio.NET делают использование подобных элементов управления почти таким же простым, как использование собственных элементов управления Windows Forms). Тем не менее доступные классы .NET делают выполнение некоторых важных задач простыми по своей сути, это особенно справедливо для процесса помещения страницы Web в поток или файл.
Главa 23
Создание распределенных приложений с помощью .NET Remoting
В главе 17 были рассмотрены службы Web, которые позволяют вызывать объекты на удаленном сервере. Использование сервера Web и протокола SOAP не всегда достаточно эффективно для приложений интранет. Протокол SOAP означает большие накладные расходы при пересылке большого объема данных. Для быстрых решений интранет можно использовать просто сокеты, как это делалось в предыдущей главе. В "старом мире", как известно, программы писали с использованием DCOM. С помощью DCOM можно вызывать методы на объектах, выполняющихся на сервере. Программная модель всегда является одной и той же, если объекты применяются на сервере или на клиенте.
Без DCOM мы вынуждены иметь дело с портами и сокетами, уделяя внимание целевым платформам в связи с возможным различным представлением данных, и создавать специальные протоколы, в которых сообщения посылаются сокету, чтобы, в конце концов, вызвать некоторые методы. DCOM обрабатывает все эти вопросы для программиста.
Заменой DCOM является .NET Remoting. В противоположность DCOM .NET Remoting может использоваться также в решениях Интернета, а для них DCOM недостаточно гибок и эффективен. С помощью .NET Remoting можно адаптировать и расширить любую часть архитектуры, поэтому подходит практически для любого удаленного сценария. В этой главе будут рассмотрены:
□ Архитектура .NET Remoting
□ Каналы, сообщения, приемники
□ Создание клиентов и серверов
□ Удаленные свойства с конфигурационными файлами
□ Возможности расширения рабочей среды
□ Использование возможностей удаленного управления в приложениях ASP.NET
Прежде всего выясним, что такое .NET Remoting.
Что такое .NET Remoting
Два выражения могут описать .NET Remoting: Web Services Anywhereи CLR Object Remoting.Рассмотрим, что это означает.
Web Services Anywhere
Выражение Web Services Anywhereиспользуется в .NET Remoting и означает, что с помощью .NET Remoting службы Web могут применяться в любом приложении с помощью любого транспорта, используя какое угодно кодирование полезной нагрузки. .NET Remoting является предельно гибкой архитектурой.
Совместное использование SOAP и HTTP — только способ вызова удаленных объектов. Транспортный канал является подключаемым и может заменяться. Мы получаем каналы HTTP и TCP, представленные классами HttpChannel
и TcpChannel
. Мы вправе создать транспортные каналы для использования UDP, IPX или механизма общей памяти — выбор полностью зависит от программиста.
Кодирование полезной нагрузки также можно заменить. Компания Microsoft предоставляет SOAP и механизмы двоичного кодирования. Можно использовать средство форматирования (форматтер) SOAP с помощью канала НТTР, но и использовать HTTP, применяя двоичный форматтер. Конечно оба эти форматтера можно использоватъ также с каналом TCP.
.NET Remoting не только делает возможным использование служб Web в каждом приложении .NET, но позволяет также предложить возможности службы Web в каждом приложении. Не имеет значения, создается ли консольное приложение или приложение для Windows, Windows Service или компонент COM+ — службы Web могут использоваться везде.
Термин подключаемый(pluggable) часто используется в .NET Remoting.
Подключаемый означает, что определенная часть проекта разработана так, что она может заменяться специальной реализацией.
CLR Object Remoting
CLR Object Remotingвезде располагается поверх служб Web. CLR Object Remoting облегчает использование служб Web. Все конструкции языка, такие как конструкторы, делегаты, интерфейсы, методы, свойства и поля, могут использоваться с удаленными объектами. CLR Object Remoting имеет дело с активацией, распределенной идентификацией, временем жизни и контекстами вызова.
Обзор .NET Remoting
.NET Remoting может использоваться для доступа к объектам в домене другого приложения независимо от того, находятся ли два объекта внутри одного процесса, в разных процессах или на разных системах.
Удаленные сборки можно сконфигурировать для локальной работы в домене приложения или как часть удаленного приложения. Если сборка является частью удаленного приложения, то клиент получает для общения прокси вместо реального объекта. Прокси посылает сообщение в канал.
Приложения .NET работают внутри домена приложения. Домен приложения можно рассматривать как подпроцесс внутри процесса, Традиционно процессы используются как изолирующая граница. Приложение, выполняющееся в одном процессе, не может получить доступ и разрушить память в другом процессе. Чтобы приложения общались друг с другом, требуется межпроцессная коммуникация. При использовании .NET домен приложения выступает новой границей безопасности внутри процесса, так как код CIL является проверяемым и обеспечивает безопасность типов данных. Различные приложения могут выполняться внутри одного процесса, но внутри различных доменов приложений. Объекты внутри одного домена приложений могут взаимодействовать напрямую. Чтобы получить доступ к объектам в другом домене приложений, требуется прокси.
Читать дальшеИнтервал:
Закладка: