Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Zur Entwicklung von Anwendungen für verteilte Arbeitsumgebungen im Internet ist eine effiziente und einfach zu verwendende Methode notwendig, mit der Daten aus unterschiedlichsten Ressourcen abgerufen werden können. Mit Hilfe austauschbarer Protokolle können Sie Anwendungen entwickeln, die zum Abrufen von Daten aus mehreren Internetprotokollen eine einzige Schnittstelle verwenden.
Für einfache Anforderungs- und Antworttransaktionen ist die WebClient-Klasse die einfachste Methode zum Uploaden bzw. Downloaden von Daten von einem Internetserver. WebClient stellt Methoden zum Uploaden und Downloaden von Dateien, zum Senden und Empfangen von Streams sowie zum Senden eines Datenpuffers an den Server und zum Empfangen einer Antwort bereit. WebClient verwendet die WebRequest-Klasse und die WebResponse-Klasse, um die aktuellen Verbindungen zur Internetressource herzustellen, so dass jedes registrierte austauschbare Protokoll verwendet werden kann. Im folgenden Beispiel wird eine Webseite angefordert; die Ergebnisse werden in einem Stream zurückgegeben.
WebClient myClient = new WebClient();
Stream response = myClient.OpenRead("https://www.contoso.com/index.htm");
// The stream data is used here.
response.Close();
[Visual Basic]
Dim myClient As WebClient = New WebClient()
Dim response As Stream = myClient.OpenRead("https://www.contoso.com/index.htm")
' The stream data is used here.
response.Close()
Client-Anwendungen, die komplexere Transaktionen durchführen müssen, fordern Daten von Servern unter Verwendung der WebRequest-Klasse und ihrer untergeordneten Klassen an. WebRequest schließt alle Schritte ein, welche die Verbindung zum Server, das Senden der Anforderung und das Empfangen der Antwort betreffen. Bei WebRequest handelt es sich um eine abstrakte Klasse, die eine Menge von Eigenschaften und Methoden definiert. Diese stehen allen Anwendungen zur Verfügung, die austauschbare Protokolle verwenden. WebRequest untergeordnete Klassen, z. B. HttpWebRequest, implementieren die von WebRequest definierten Eigenschaften und Methoden so, dass sie mit dem zugrunde liegenden Protokoll übereinstimmen.
Die WebRequest-Klasse erstellt protokollspezifische Instanzen von WebRequest untergeordneten Klassen und verwendet dazu den Wert des URI, der ihrer Create-Methode übergeben wurde, um genau die zu erstellende abgeleitete Klasseninstanz festzulegen. Welche WebRequest untergeordnete Klasse zur Bearbeitung einer Anforderung verwendet werden soll, wird von Anwendungen dadurch angezeigt, dass der Konstruktor der untergeordneten Klasse mit Hilfe der WebRequest.RegisterPrefix-Methode registriert wird.
Eine Internetressource wird angefordert, indem die GetResponse-Methode für WebRequest aufgerufen wird. Die GetResponse-Methode erstellt die protokollspezifische Anforderung und verwendet dazu die Eigenschaften des WebRequest, stellt die TCP- bzw. UDP-Socketverbindung zum Server her und sendet die Anforderung. Für Anforderungen, die Daten an den Server senden, wie z. B. HTTP Post-Anforderungen oder FTP Put-Anforderungen, stellt die WebRequest.GetRequestStream-Methode einen Netzwerkstream für das Senden von Daten bereit.
Die GetResponse-Methode gibt eine protokollspezifische WebResponse zurück, die mit WebRequest übereinstimmt, wie im folgenden Beispiel zu sehen ist.
WebRequest req = WebRequest.Create("https://www.contoso.com/");
WebResponse resp = req.GetResponse();
[Visual Basic]
Dim req As WebRequest = WebRequest.Create("https://www.contoso.com")
Dim resp As WebResponse = req.GetResponse()
Bei WebResponse handelt es sich ebenfalls um eine abstrakte Klasse, die eine Menge von Eigenschaften und Methoden definiert. Diese stehen allen Anwendungen zur Verfügung, die austauschbare Protokolle verwenden. WebResponse untergeordnete Klassen implementieren diese Eigenschaften und Methoden für das zugrunde liegende Protokoll. So implementiert z. B. die HttpWebResponse-Klasse die WebResponse-Klasse für HTTP.
Vom Server zurückgegebene Daten werden der Anwendung innerhalb des Streams angezeigt, welcher durch die WebResponse.GetResponseStream-Methode zurückgegeben wird. Dieser Stream kann wie jeder andere verwendet werden, wie im folgenden Beispiel gezeigt wird.
StreamReader sr =
new StreamReader(resp.GetResponseStream(), Encoding.ASCII);
[Visual Basic]
Dim sr As StreamReader
sr = New StreamReader(resp.GetResponseStream(), Encoding.ASCII)