gpt4 book ai didi

c# - 需要关闭网络请求流吗?

转载 作者:太空狗 更新时间:2023-10-29 22:14:21 25 4
gpt4 key购买 nike

哪种方式更好?

答:

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
Stream reqStream = req.GetRequestStream();
reqStream.Write(data, 0, data.Length);
reqStream.Close();

乙:

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.GetRequestStream().Write(data, 0, data.Length);

最佳答案

改为选项 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);

关于c# - 需要关闭网络请求流吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12025225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com