C# 在GetResponseStream完成之前如何屈服?

C# 在GetResponseStream完成之前如何屈服?,c#,multithreading,httpwebrequest,C#,Multithreading,Httpwebrequest,我正在使用下面的代码阅读一个web响应,然而,我得到的是一个不完整的响应。如果ISystem.Threading.Thread.Sleep(5000),就在我运行GetResponseStream()之后但是,我得到了完整的响应 HttpWebRequest http = (HttpWebRequest)HttpWebRequest.Create(url)) HttpWebResponse response = (HttpWebResponse) http.GetResponse(); usin

我正在使用下面的代码阅读一个web响应,然而,我得到的是一个不完整的响应。如果I
System.Threading.Thread.Sleep(5000),就在我运行
GetResponseStream()之后但是,我得到了完整的响应

HttpWebRequest http = (HttpWebRequest)HttpWebRequest.Create(url))
HttpWebResponse response = (HttpWebResponse) http.GetResponse();
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
{
    string response = sr.ReadToEnd();
}

在完成之前,我如何让步?

您如何确定您得到的是不完整的答复?你在哪个网站上阅读?他们有可能实施某种速率限制吗?你展示的代码没有问题;它应该检索整个响应。“它对我有用。”您应该在这里使用“block”一词,因为“yield”意味着将执行竞赛返回给调用者