Frage

Wenn ich die POST-Methode für eine httpwebrequest verwende, sehe ich oft eine Codezeile wie diese:

Dim postReq As HttpWebRequest = DirectCast(WebRequest.Create("https://www.empireavenue.com/user/login/do"), HttpWebRequest)

Warum machen wir hier einen DirectCast?Was genau macht es?

Bearbeiten:Oder vielleicht lautet meine Frage: Warum rufen wir WebRequest.Create auf und wandeln es in ein HttpWebRequest um?Was ist hier technisch gesehen los?

War es hilfreich?

Lösung

WebRequest.Create ist eine Factory-Methode, die verschiedene Arten von Anfragen zurückgeben kann.Aus diesem Grund werden alle als typisiert zurückgegeben WebRequest.Sondern weil Sie vielleicht wissen, dass Sie mit einer Rückkehr rechnen HttpWebRequest (Da der von Ihnen angegebene Uri http ist), können Sie ihn herunterwandeln, um Zugriff auf Methoden und Eigenschaften zu erhalten, die von bereitgestellt werden HttpWebRequest, die nicht durch ausgesetzt sind WebRequest Basisklasse.

Aber Sie sollten es wahrscheinlich verwenden WebRequest.CreateHttp() anstatt WebRequest.Create(), wenn Sie wissen, dass Sie das HTTP-Protokoll verwenden werden.

Andere Tipps

weil httpwebrequest implementiert Webresthest und weBrequest.Create () Gibt ein WeBrequest-Objekt zurück.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top