C# 完成帖子是否需要HttpWebRequest.GetResponse?

C# 完成帖子是否需要HttpWebRequest.GetResponse?,c#,.net,web,httpwebrequest,C#,.net,Web,Httpwebrequest,对于使用HttpWebRequest的POST请求,当我写入请求流时,数据在什么时候被发送?是在关闭请求流时还是在调用GetResponse时?是否需要GetResponse调用 net文档似乎不太清楚实际发生了什么 以下是我好奇的代码: HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest; request.Method = "POST"; request.ContentLength = jsonData.L

对于使用HttpWebRequest的POST请求,当我写入请求流时,数据在什么时候被发送?是在关闭请求流时还是在调用GetResponse时?是否需要GetResponse调用

net文档似乎不太清楚实际发生了什么

以下是我好奇的代码:

HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest;
request.Method = "POST";
request.ContentLength = jsonData.Length;
request.ContentType = "application/json";

Stream requestStream = request.GetRequestStream();

requestStream.Write(jsonData, 0, jsonData.Length);

requestStream.Close();

var response = request.GetResponse() as HttpWebResponse;

谢谢

启动嗅探器并在
requestStream.Close()上设置断点GetResponse()
时,您将看到请求正在发出。

是的,
GetResponse
调用是必须的,不仅对于POST请求,对于GET请求也是如此。请求/数据是在您调用
GetResponse

时发送的。无论如何,您都需要获得响应才能读取状态代码,并确定您的
POST
是否被服务器接受或拒绝……这不是真的,我在将数据写入流后立即体验到发送请求的过程,GetResponse被注释掉了,我能够调试远程调用的方法。我完全绝望了。。。