質問

HttpwebrequestのPOSTメソッドを使用すると、次のようなコード行がよく表示されます:

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

なぜここでダイレクトキャストを行うのですか?それは正確に何をしていますか?

編集:または、私の質問は、なぜWebRequestを呼び出すのかということです。それを作成してHttpWebRequestにキャストしますか?技術的に言えば、ここで何が起こっていますか?

役に立ちましたか?

解決

WebRequest.Create 異なるタイプの要求を返すことができるファクトリメソッドです。そのため、それらはすべて次のように入力されて返されます WebRequest.しかし、あなたが知っているかもしれないので、あなたはそれが戻ってくることを期待していること HttpWebRequest (あなたが提供したUriはhttpなので)それをダウンキャストして、公開されたメソッドとプロパティにアクセスすることができます HttpWebRequest, 、によって公開されていない WebRequest 基本クラス。

しかし、あなたはおそらく使うべきです WebRequest.CreateHttp() の代わりに WebRequest.Create(), 、httpプロトコルを使用することがわかっている場合。

他のヒント

HTTPWebRequest を実装WebRequestと webrequest.create() WebRequestオブジェクトを返します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top