Żądanie danychRequesting Data

Tworzenie aplikacji, które działają w rozproszonym środowisku operacyjnym dzisiejszego Internetu wymaga wydajnej, łatwej w użyciu metody pobierania danych z zasobów wszystkich typów.Developing applications that run in the distributed operating environment of today's Internet requires an efficient, easy-to-use method for retrieving data from resources of all types. Protokoły podłączane umożliwiają tworzenie aplikacji korzystających z jednego interfejsu do pobierania danych z wielu protokołów internetowych.Pluggable protocols let you develop applications that use a single interface to retrieve data from multiple Internet protocols.

Przekazywanie i pobieranie danych z serwera internetowegoUploading and Downloading Data from an Internet Server

W przypadku prostych transakcji żądań i odpowiedzi WebClient klasa zapewnia najprostszą metodę przekazywania danych do lub pobierania danych z serwera internetowego.For simple request and response transactions, the WebClient class provides the easiest method for uploading data to or downloading data from an Internet server. WebClient udostępnia metody przekazywania i pobierania plików, wysyłania i odbierania strumieni oraz wysyłania buforu danych do serwera i odbierania odpowiedzi.WebClient provides methods for uploading and downloading files, sending and receiving streams, and sending a data buffer to the server and receiving a response. WebClient używa WebRequest i WebResponse klas do tworzenia rzeczywistych połączeń z zasobem internetowym, więc każdy zarejestrowany protokół pluggable jest dostępny do użycia.WebClient uses the WebRequest and WebResponse classes to make the actual connections to the Internet resource, so any registered pluggable protocol is available for use.

Aplikacje klienckie, które muszą dokonać bardziej złożonych transakcji żądają danych z serwerów przy użyciu klasy WebRequest i jej elementów podrzędnych.Client applications that need to make more complex transactions request data from servers using the WebRequest class and its descendants. WebRequest hermetyzuje szczegóły łączenia się z serwerem, wysyłania żądania i odbierania odpowiedzi.WebRequest encapsulates the details of connecting to the server, sending the request, and receiving the response. WebRequest to klasa abstrakcyjna, która definiuje zestaw właściwości i metod, które są dostępne dla wszystkich aplikacji, które używają protokołów podłączanych.WebRequest is an abstract class that defines a set of properties and methods that are available to all applications that use pluggable protocols. Elementy podrzędne WebRequest HttpWebRequest, takie jak , implementują właściwości i metody zdefiniowane przez WebRequest w sposób zgodny z podstawowym protokołem.Descendants of WebRequest, such as HttpWebRequest, implement the properties and methods defined by WebRequest in a way that is consistent with the underlying protocol.

Klasa WebRequest tworzy specyficzne dla protokołu wystąpienia elementów podrzędnych WebRequest, przy Create użyciu wartości identyfikatora URI przekazany do jego metody w celu określenia określonego wystąpienia klasy pochodnej do utworzenia.The WebRequest class creates protocol-specific instances of WebRequest descendants, using the value of the URI passed to its Create method to determine the specific derived-class instance to create. Aplikacje wskazują, które WebRequest element podrzędny powinien być używany do WebRequest.RegisterPrefix obsługi żądania, rejestrując konstruktora podrzędnego z metodą.Applications indicate which WebRequest descendant should be used to handle a request by registering the descendant's constructor with the WebRequest.RegisterPrefix method.

Żądanie jest dokonywane do zasobu GetResponse internetowego, wywołując metodę w WebRequest.A request is made to the Internet resource by calling the GetResponse method on the WebRequest. Metoda GetResponse konstruuje żądanie specyficzne dla protokołu z właściwości WebRequest, sprawia, że TCP lub UDP gniazdo połączenia z serwerem i wysyła żądanie.The GetResponse method constructs the protocol-specific request from the properties of the WebRequest, makes the TCP or UDP socket connection to the server, and sends the request. W przypadku żądań, które wysyłają dane do serwera, takich WebRequest.GetRequestStream jak http post lub ftp put żądań, metoda zapewnia strumień sieciowy, w którym do wysyłania danych.For requests that send data to the server, such as HTTP Post or FTP Put requests, the WebRequest.GetRequestStream method provides a network stream in which to send the data.

Metoda GetResponse zwraca webresponse specyficzne dla protokołu, który pasuje do WebRequest.The GetResponse method returns a protocol-specific WebResponse that matches the WebRequest.

Klasa WebResponse jest również klasą abstrakcyjną, która definiuje właściwości i metody, które są dostępne dla wszystkich aplikacji korzystających z protokołów podłączanych.The WebResponse class is also an abstract class that defines properties and methods that are available to all applications that use pluggable protocols. Elementy podrzędne WebResponse implementują te właściwości i metody dla protokołu źródłowego.WebResponse descendants implement these properties and methods for the underlying protocol. Klasa, HttpWebResponse na przykład, implementuje WebResponse klasy http.The HttpWebResponse class, for example, implements the WebResponse class for HTTP.

Dane zwracane przez serwer są prezentowane do aplikacji WebResponse.GetResponseStream w strumieniu zwrócone przez metodę.The data returned by the server is presented to the application in the stream returned by the WebResponse.GetResponseStream method. Można użyć tego strumienia, jak każdy inny, jak pokazano w poniższym przykładzie.You can use this stream like any other, as shown in the following example.

StreamReader sr =  
   new StreamReader(resp.GetResponseStream(), Encoding.ASCII);  
Dim sr As StreamReader  
sr = New StreamReader(resp.GetResponseStream(), Encoding.ASCII)  

Zobacz teżSee also