Поделиться через


Основы сетевых операций в .NET Framework

Обновлен: Ноябрь 2007

Microsoft .NET Framework предоставляет многоуровневую, расширяемую и управляемую реализацию служб Интернета, которую можно легко и быстро интегрировать в приложения. Для использования этих классы необходимо приводить имена в полной форме либо импортировать соответствующие пространства имен, указывая один или несколько операторов Imports в начале соответствующего кода. Дополнительные сведения см. в разделе Оператор Imports (пространство имен .NET и тип);

Доступ к ресурсам Интернета

Для доступа к интернет-ресурсам посредством модели запрос-ответ требуются три порции информации. Они предоставляются конкретными классами .NET Framework:

  • Класс Uri содержит универсальный код Интернет-ресурса (URI), содержащий как минимум из трех, а иногда и из четырех частей: идентификатора схемы, задающего коммуникационный протокол, идентификатора сервера; идентификатора пути и необязательной строки запроса.

  • Класс WebRequest содержит запрос ресурса.

  • Класс WebResponse предоставляет контейнер для входящего ответа.

Отправка и загрузка данных

Для приложений, которым необходимо делать простые запросы интернет-ресурсов, имеется класс WebClient, предоставляющий методы для отправки или загрузки данных. Так как класс WebClient обеспечивает доступ к ресурсам Интернета посредством класса WebRequest, он может использовать любой зарегистрированный подключаемый протокол.

Пространство имен System.Net.Sockets предоставляет классы TcpClientTcpListener и UdpClient для приложений, которые не используют модель запрос-ответ, а также приложений, которые должны прослушивать сеть. Эти классы отвечают за установление подключений с использованием различных транспортных протоколов и предоставляют сетевые подключения другим приложениям в виде потоков.

Дополнительные сведения содержатся в разделе Requesting Data.

В следующей таблице перечислены типовые задачи, связанные с запросом данных у интернет-ресурса.

To

См. раздел

Создание интернет-запроса

Creating Internet Requests

Отправка данных по сети

Using Streams on the Network

Асинхронный запрос к интернет-ресурсу

Making Asynchronous Requests

Доступ к свойствам, специфичным для протокола HTTP

HTTP

Связывание конкретного запроса с пулом подключений

Connection Grouping

Настройка экземпляра прокси-сервера

Accessing the Internet Through a Proxy

Выполнение асинхронных запросов к интернет-ресурсу

Making Asynchronous Requests

Запрос данных по протоколу TCP

Using TCP Services

Запрос данных по протоколу UDP

Using UDP Services

Подключаемые протоколы

Абстрактные классы WebRequest и WebResponse предоставляют базовые классы для подключаемых протоколов. Создав классы для конкретных протоколов, производные от базовых классов WebRequest и WebResponse, приложение может запрашивать данные из интернет-ресурса и считывать ответ, не указывая используемый протокол.

Дополнительные сведения содержатся в разделе Programming Pluggable Protocols.

В следующей таблице перечислены типовые задачи, связанные с использованием подключаемых протоколов.

To

См. раздел

Является производным от WebRequest

Deriving from WebRequest

Является производным от WebResponse

Deriving from WebResponse

Доступ к свойствам, специфичным для конкретных протоколов

How to: Typecast a WebRequest to Access Protocol Specific Properties

Трассировка сети

Трассировка сети предоставляет доступ к сведениям о вызовах методов и о сетевом трафике, созданном управляемым приложением. Эта возможность полезна для отладки приложений на стадии разработки и анализа развернутых приложений. Выходные данные трассировки сети можно настраивать с целью поддержки различных сценариев использования во время разработки и в производственной среде.

Дополнительные сведения см. в разделе Network Tracing.

В следующей таблица перечислены типовые задачи, связанные с трассировкой сети.

To

См. раздел

Включение трассировки сети

Enabling Network Tracing

Считывание данных трассировки

Interpreting Network Tracing

Настройка трассировки сети

How to: Configure Network Tracing

Управление кэшем

Кэш предоставляет временное хранилище для ресурсов, запрошенных приложением. Если приложение запрашивает один и тот же ресурс более одного раза, этот ресурс может быть возвращен из кэша, что позволяет избежать повторного его запроса у сервера.

Политика кэша устанавливает правила, по которым определяется, можно ли удовлетворить тот или иной запрос с использованием кэшированной копии запрошенного ресурса.

Дополнительные сведения см. в разделе Cache Management for Network Applications.

В следующей таблице перечислены типовые задачи, связанные с управлением кэшем.

To

См. раздел

Задание политики кэша на основе расположения

How to: Set a Location-Based Cache Policy for an Application

Задание политики кэша по умолчанию на основе времени

How to: Set the Default Time-Based Cache Policy for an Application

Настройка политики кэша на основе времени

How to: Customize a Time-Based Cache Policy

Задание политики кэша для запроса

How to: Set Cache Policy for a Request

Безопасность

Классы System.Net предоставляют безопасную среду для веб-приложений благодаря встроенной поддержке часто используемых механизмов проверки подлинности интернет-приложений и разрешений на доступ для кода .NET Framework.

Дополнительные сведения см. в разделе Best Practices for System.Net Classes.

В следующей таблице перечислены типовые задачи, связанные с обеспечением безопасности.

To

См. раздел

Использование SSL-подключений к HTTP-серверу

Using Secure Sockets Layer

Использование методов проверки подлинности HTTP для установки проверенного подключения к HTTP-серверу.

Internet Authentication

Настройка безопасности доступа для кода в приложениях, использующих подключения к Интернету.

Web and Socket Permissions

Обычная и краткая проверка подлинности.

Basic and Digest Authentication

Проверка подлинности NTLM и Kerberos.

NTLM and Kerberos Authentication

Использование System.Net для защиты веб-служб XML.

Securing XML Web Services Created Using ASP.NET

См. также

Основные понятия

Best Practices for System.Net Classes

Configuring Internet Applications

Ссылки

System.Net

System.Net.Sockets

Другие ресурсы

Network Programming

Сетевые пространства имен в Visual Studio