Герберт Шилдт - C# 4.0 полное руководство - 2011
- Название:C# 4.0 полное руководство - 2011
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Герберт Шилдт - C# 4.0 полное руководство - 2011 краткое содержание
C# 4.0 полное руководство - 2011 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
HttpListenerResponse
HttpVersion
HttpWebRequest
HttpWebResponse
IPAddress
IPEndPoint
IPEndPointCollection
IPHostEntry
IrDAEndPoint
NetworkCredential
OpenReadCompletedEventArgs
OpenWriteCompletedEventArgs
ProtocolViolationException
ServicePoint
ServicePointManager
SocketAddress
SocketPermission
SocketPermissionAttribute
TransportContext
UploadDataCompletedEventArgs
UploadFileCompletedEventArgs
UploadProgressChangedEventArgs
UploadstringCompletedEventArgs
UploadValuesCompletedEventArgs
WebClient
WebException
WebHeaderCollection
WebPermission
WebPermissionAttribute
WebProxy
WebRequest
WebRequestMethods
WebRequestMethods.File
WebRequestMethods.Ftp
WebRequestMethods.Http
WebResponse
WebUtility
Кроме того, в пространстве имен System.Net определены перечисленные ниже
интерфейсы.
AuthenticationModule
IcertificatePolicy I Credential Pol icy
ICredentials
IcredentialsByHost IWebProxy
IWebProxyScript
IWebRequestCreate
В этом пространстве имен определяются также приведенные ниже перечисления.
AuthenticationSchemes
DecompressionMethods FtpStatusCode
HttpRequestHeader
HttpResponseHeader HttpStatusCode
NetworkAccess
SecurityProtocolType TransportType
WebExceptionStatus
Помимо этого, в пространстве имен System.Net определен ряд делегатов.
Несмотря на то что в пространстве имен System.Net определено немало членов, лишь немногие из них на самом деле требуются при решении наиболее типичных задач программирования для Интернета. Основу сетевых программных средств составляют абстрактные классы WebRequest и WebResponse. От этих классов наследуют все классы, поддерживающие конкретные сетевые протоколы. ( Протокол определяет правила передачи данных по сети.) Например, к производным классам, поддерживающим стандартный сетевой протокол HTTP, относятся классы HttpWebRequest и HttpWebResponse.
Классы HttpWebRequest и HttpWebResponse довольно просты в использовании. Тем не менее решение некоторых задач можно еще больше упростить, применяя подход, основанный на классе WebClient. Так, если требуется только загрузить или выгрузить файл, то для этой цели лучше всего подойдет класс WebClient.
Универсальные идентификаторы ресурсов
В основу программирования для Интернета положено понятие универсального иден-тификйтора ресурса (URI), иногда еще называемого унифицированным указателем информационного ресурса (URL). Этот идентификатор описывает местоположение ресурса в сети. В корпорации Microsoft принято пользоваться сокращением URI при описании членов пространства имен System.Net, и поэтому в данной книге выбрано именно это сокращение для обозначения универсального идентификатора ресурса. Идентификаторы URI, без сомнения, известны каждому, кто хотя бы раз пользовался браузером для поиска информации в Интернете. По существу, это адрес информационного ресурса, который указывается в соответствующем поле окна браузера.
Ниже приведена общая форма идентификатора URI:
Протокол: // Идентмфмкационный_номер_сервера/Путь_к_файлу1 Запрос
где Протокол — это применяемый протокол, например HTTP; Идентификацион-ный_номер_сервера — конкретный сервер, например mhprof essional. com или
HerbSchildt. com; Путь_к_файлу — путь к конкретному файлу. Если же Путь_к_ файлу не указан, то получается страница, доступная на указанном сервере по умолчанию. И наконец, Запрос обозначает информацию, отправляемую на сервер. Указывать Запрос необязательно. В C# идентификаторы URI инкапсулированы в класс Uri, рассматриваемый далее в этой главе.
Основы организации доступа к Интернету
В классах, находящихся в пространстве имен System.Net, поддерживается модель взаимодействия с Интернетом по принципу запроса и ответа. При таком подходе пользовательская программа, являющаяся клиентом, запрашивает информацию у сервера, а затем переходит в состояние ожидания ответа. Например, в качестве запроса программа может отправить на сервер идентификатор URI некоторого веб-сайта. В ответ она получит гипертекстовую страницу, соответствующую указанному идентификатору URL Такой принцип запроса и ответа удобен и прост в применении, поскольку большинство деталей сетевого взаимодействия реализуются автоматически.
На вершине иерархии сетевых классов находятся классы WebRequest и WebResponse, реализующие так называемые подключаемые протоколы. Как должно быть известно большинству читателей, для передачи данных в сети применяется несколько разнотипных протоколов. К числу наиболее распространенных в Интернете относятся протокол передачи гипертекстовых файлов (HTTP), а также протокол передачи файлов (FTP). При создании идентификатора URI его префикс обозначает применяемый сетевой протокол. Например, в идентификаторе http: //www. HerbSchildt. com используется префикс http, обозначающий протокол передачи гипертекстовых файлов (HTTP).
Как упоминалось выше, классы WebRequest и WebResponse являются абстрактными, а следовательно, в них определенны в самом общем виде операции запроса и ответа, типичные для всех протоколов. От этих классов наследуют более конкретные производные классы, в которых реализуются отдельные протоколы. Эти производные классы регистрируются самостоятельно, используя для этой цели статический метод RegisterPrefix () , определенный в классе WebRequest. При создании объекта типа WebRequest автоматически используется протокол, указываемый в префиксе URI, если, конечно, он доступен. Преимущество такого принципа "подключения" протоколов заключается в том, что большая часть кода пользовательской программы остается без изменения независимо от типа применяемого протокола.
Интервал:
Закладка: