ASP.. NET c# Async -后台httprequest的正确解决方案

本文关键字:解决方案 httprequest 后台 NET Async ASP | 更新日期: 2023-09-27 18:12:08

我有一个从第三方调用的ASMX方法。该方法向不同的数据源发出多个httprequest,汇总数据,然后将这些数据推送到第三方API。由于数据量和延迟的变化,调用ASMX的请求会间歇性地超时。我认为在调用ASMX之后,可以异步启动流程的其余部分,并仅向原始调用者返回响应。我一直在阅读Async/Await文档,但没有找到我要找的东西,这意味着我错过了一些东西,或者我试图做错。

1)异步是正确的解决方案,我想做什么?

2)如果没有,有没有人可以帮我指出正确的方向?

请原谅这里的高级和缺乏代码-我知道我在尝试做什么,但显然不知道如何做,并且。net不是我的强项。:)欢呼-

ASP.. NET c# Async -后台httprequest的正确解决方案

你能做的就是在你的web服务调用中异步调用每个第三方web服务,然后等待它们全部并发运行。但是如果你需要等待所有的响应和处理数据等能够返回结果给客户端之前如果等待所有第三方服务调用的结果,做你自己的处理时间太长时间,它还有没有,你能做的,除非你可以返回一个简单的异步调用第三方服务后立即响应,表明请求提交,但不一定完成成功。

1)异步是正确的解决方案,我想做什么?

。正如我在我的博客中所描述的,async不会改变HTTP协议。

2)如果没有,有没有人可以帮我指出正确的方向?

首先,在ASP上运行任务。. NET中没有请求上下文是危险的。也就是说,我确实介绍了ASP上的一些即发即弃的选项。NET在我的博客上。最简单的解决方案可能是HangFire或HostingEnvironment.QueueBackgroundWorkItem