问题标签 [getasync]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - HttpClient.GetAsync 在运行一段时间后失败,TaskCanceledException“任务已取消”
我正在使用 GetAsync 方法从服务器检索响应。以下代码在前两次迭代中运行良好,然后出现错误消息“任务已取消”。我在网上搜索但没有找到任何解决方法。由于死锁,有人建议使用 async/await,但我认为这不是问题所在,而且它也不起作用。
任何想法是什么导致了异常以及如何防止它?
编辑:我已经完成了这个问题,并尝试使用前面提到的 async/await 并将默认超时更改为 5 分钟而不是 100 秒。他们都没有工作。我的猜测是来自 Netstat 日志的其他内容,我看到端口处于 TIME_WAITING 状态。
注意:我使用的是 System.Net.Http 4.3.4 版本和 .NET 4.6.1。
c# - 使用 httpclient 下载多个文件
我正在研究 xamarin.forms 应用程序。我想使用 HttpClient 同时下载多个文件。如果有多个文件,那么我得到:System.IO.IOException:Sharing violation on path。有什么需要改进的吗?这是我下载文件的代码:
c# - 带有查询字符串的 HttpClient GetAsync
我正在使用谷歌的地理编码 API。我有两种方法,一种有效,另一种无效,我似乎无法弄清楚原因:
我发送查询字符串的最后一种方法GetAsync
不起作用,我怀疑为什么会这样。当我BaseAddress
在客户端上介绍时,GetAsync
不知何故不会发送到正确的 URL。
c# - 带有 await GetAsync API 调用的方法退出而不返回结果或运行方法中的所有代码
借用https://docs.microsoft.com/en-us/aspnet/web-api/overview/advanced/calling-a-web-api-from-a-net-client中的 Get 方法,我编写了以下内容. 虽然是 C# 的新手,但我认为 await 将完成 API 调用然后继续,但发生的情况是该行执行然后退出该方法而不运行另一行代码(if 语句,返回)。我可能还假设了其他事情,这导致我陷入了这种困境。
代码应该是什么才能始终如一地从 API 调用中获得响应并反序列化 Json,以便我可以检索我实际需要的 2 位数据?
对我的代码的任何其他建议改进也非常感谢。
方法调用:
var ReturnedData = GetProductAsync(companyCode);
方法:
最后的 Conrole.Writeline 只是一个断点,所以我可以评估哪种反序列化尝试效果最好,我还没有看到有人停下来。
.net-core - 如何让 HttpClient GetAsync 等待异步加载数据的网页?
我正在制作一个片段,将数据发送到分析它的网站,然后发回结果。
有什么方法可以让我的 GetAsych 等到网站完成计算后再获得“完整响应”?
Ps:await 不会知道请求的页面是否包含任何异步处理(例如:xhr 调用)- 我已经使用await
并且ReadAsByteArrayAsync()/ReadAsStringAsync()
谢谢!
php - Guzzle getAsync php laravel将变量传递给promise
我正在循环访问用户数据库以将数据传递给 API 以通过getAsync
. 我需要根据 API 返回的内容更新我的数据库记录。问题是我不知道如何传递$user->id
给更新记录的承诺。
提前致谢!
c# - GetAsync 使用基本身份验证,即使我指定了 Bearer
我有以下GetAsync
内容,我正在尝试使用不记名令牌进行身份验证,但收到 403 响应。当我查看请求标头时,我可以看到Authorization: Basic YWJjOmRlZg==
令牌有效。我向邮递员证实了这一点。我还将它硬编码到其中AuthenticationHeaderValue
以确保我拥有正确的令牌。我想我认为我错误地传递了不记名令牌。
如何让它使用承载认证?
c# - C# HttpClient GetAsync 异常“服务器返回无效或无法识别的响应”
这似乎是一个随机问题。有时 GetAsync 会成功获得响应 (200/OK)。其他时候它会抛出异常。我认为这与“传输编码:分块”有关。顺便说一句...流式文件的大小从 8MB 到 300MB
这是我的相关代码:
这是 GetAsync 成功(200/OK)时的 HttpResponseMessage:
其他时候没有响应并抛出异常:
异常:[服务器返回无效或无法识别的响应。] | 堆栈:[在 System.Net.Http.HttpConnection.ThrowInvalidHttpResponse() 在 System.Net.Http.HttpConnection.ChunkedEncodingReadStream.ReadChunkFromConnectionBuffer(Int32 maxBytesToRead, CancellationTokenRegistration cancelRegistration) 在 System.Net.Http.HttpConnection.ChunkedEncodingReadStream.CopyToAsyncCore(流目标, System.Net.Http.HttpContent.LoadIntoBufferAsyncCore(Task serializeToStreamTask, MemoryStream tempBuffer) 在 System.Net.Http.HttpClient 的 System.Net.Http.HttpContent.LoadIntoBufferAsyncCore(Task serializeToStreamTask, MemoryStream tempBuffer) 的 System.Net.Http.HttpContent.LoadIntoBufferAsyncCore(Task serializeToStreamTask, MemoryStream tempBuffer) .FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage 请求, CancellationTokenSource cts, Boolean disposeCts) 在 myapp.GetBlahAsync(Uri uri, String newFileName) 在 C:\blah\Svc.cs:line 97] | 内壳:[]
c# - C# GetAsync await 返回状态码 204 而 PostMan 返回 200
我使用 GetAsync 方法对 WebAPI 进行了 Get API 调用,该方法根据位置参数获取 JSON 中的一些值。我在循环中运行 WebAPI 调用,出于某种原因,对于某些 Location 参数,代码返回“无内容”状态代码 204。当我从 Postman 调用 webAPI 时,它成功返回数据。
这是我的代码: