- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
那么,在下面的代码片段中,为什么 ReadAsStringAsync 是一个异步方法?
var response = await _client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
最初我希望 SendAsync 发送请求并将响应流加载到内存中,此时读取该流将是进程内 CPU 工作(而不是真正的异步)。
深入源代码的兔子洞,我得到了这个:
int count = await _stream.ReadAsync(destination, cancellationToken).ConfigureAwait(false);
这让我觉得也许连接是打开的,直到响应流从进程之外的某个源实际读取?我完全希望我缺少一些关于来自 Http Connections 的流如何工作的基础知识。
最佳答案
SendAsync()
等待请求完成以及对开始的响应到达。
它不会缓冲整个响应;这使您可以流式传输大量响应,而无需将整个响应保存在内存中。
关于c# - 为什么 ReadAsStringAsync 是异步的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46977265/
如果我等待正在执行ReadAsStringAsync() 的响应,我是否应该等待 ReadAsStringAsync() >?为了进一步澄清,以下内容之间的区别或正确方法是什么?它们实际上是一样的吗?
我尝试像这样读取请求的内容: var翻译=await req.Content.ReadAsStringAsync(); 但出现此异常: Severity Code Description Projec
我有一个方法 ReadJsonUrl,它获取 JSON 文件的 url(字符串地址(例如:https://www.ah.nl/service/rest/delegate?url=%2Fproducte
我有一个看起来有点像这样的 Web API 方法: [HttpPost] public ResponseMessageResult Post(Thing thing) {
在其中一个 Net API Controller 中,我有一个将请求发送到另一个第三方 API 的操作,在收到响应后,它对收到的 JSON 数据进行一些操作,最后将响应返回给前端应用程序。示例代码如下
那么,在下面的代码片段中,为什么 ReadAsStringAsync 是一个异步方法? var response = await _client.SendAsync(request); var bod
我有以下设置,当用户使用 ImagePicker 拍照时,它将使用以下代码将其保存到 FileSystem.documentDirectory: saveAvatar = async (uri) =>
我有一个 azure 函数,可以通过基本身份验证调用 Rest API。服务器的响应没问题,但我有一个问题,只接收从响应返回的部分数据 - 某些字段返回为空。 我正在使用 httpclient 进行其
我正在尝试使用 Expo FileSystem 从 React Native 项目中的文件中读取医院列表。我想等待列表返回,以便我可以在屏幕上呈现它。我可以轻松地在“.then” block 中获得结
我正在向我的 Web API 发送大小为 6MB 的 JSON 请求,我在其中使用 ReadAsStringAsync 方法获取字符串格式的请求。我添加了 ContinueWith 来做一些后期处理。
我使用 SendAsync 和 HttpCompletionOption.ResponseHeadersRead 来首先获取 header 。接下来我检查 Content-Type 和 Content
我们正在构建一个高度并发的 Web 应用程序,最近我们开始广泛使用异步编程(使用 TPL 和 async/await)。 我们有一个分布式环境,其中应用程序通过 REST API(构建在 ASP.NE
应该做什么HttpContentExtensions.ReadAsAsync和 HttpContent.ReadAsStringAsync用来做什么? 他们似乎在做类似的事情,但工作方式却很奇怪。下面
我在asp.net核心网络api上工作,而我在asp.net核心中是新手。我制作了一个Web API,想从Web应用程序 Controller 中调用它,并且效果很好。我的问题是我想在C#对象列表中转
这是我的服务 public Task GetNews(string query,string count) { var task = Task.Factory .StartNe
var request = new HttpRequestMessage(HttpMethod.Get, $"api/Items"); request.Headers.Accept.Add(new M
当我调用我的函数时,我试图反序列化我的 JSON 响应的一部分,然后将其作为 View 模型返回,但是当我这样做时,我似乎无法访问 JSON 的内部部分。有问题的功能是这样的, // GetUserI
如果我从我的自托管 webapi 返回 Request.CreateResponse(HttpStatusCode.OK, "YAY"); 一切都很好..所以我可以这样阅读: var response
我正在尝试使用 expo 的 FileSystem readasStringAsync 函数在 react native 中读取本地 .txt 文件,并遇到以下错误,Location ‘file://
我有以下 C# 代码: Uri url = new Uri("http://lu32kap.typo3.lrz.de/mensaapp/exportDB.php?mensa_id=all"); Htt
我是一名优秀的程序员,十分优秀!