代わりにオプションC:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(data, 0, data.Length);
}
しかし、はい、リクエストストリームを閉じます。絶対に必要なわけではない可能性もありますが、特に、必要ないと信じる十分な理由がない限り(ドキュメントなど)、実装は時間の経過とともに変化し、「怠惰な」コードを壊す可能性があります。後で。
これを頻繁に行う場合は、いつでもユーティリティメソッドを作成できます(おそらく拡張メソッドとしても)。
public static void WriteRequestData(this WebRequest request, byte[] data)
{
using (Stream reqStream = request.GetRequestStream())
{
reqStream.Write(data, 0, data.Length);
}
}
次に、それを次のように呼び出します。
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.WriteRequestData(data);