有没有办法在Asp.net核心中执行批量请求?

时间:2016-12-07 20:48:28

标签: c# asp.net asp.net-mvc asp.net-core

我们使用ASP.Net Core构建了一个API,出于性能原因,我们希望将多个请求合并到一个HTTP请求中。

在以前版本的asp.net中,您可以通过DefaultHttpBatchHandler允许批量请求。

不幸的是,Asp.net Core中似乎没有这样的东西。

是否有人知道在核心中进行HTTP批量的任何方法?

2 个答案:

答案 0 :(得分:6)

在对此事进行研究之后,这似乎很容易实现。但是,我认为应该得到官方asp.net核心团队的支持。

对我而言,似乎需要一个中间件根据输入的文本创建多个RouteContext,并且只是调用它们的处理程序 - 并修改它们的响应。它可能有点困难,因为它需要支持HttpContext的多个响应(据我所知,它似乎将在控制器之间共享)。

无论如何,官方存储库中有一个开放的issue,我已经从死里复活,希望它会移动。如果没有很快的变化,我可能会在将来进行实施。

更新

似乎asp.net团队响应了请求,并创建了一个设置为2.0里程碑的新issue,所以我猜这个功能将在asp.net 2.0发布期间可用。

答案 1 :(得分:3)

不确定我明白了吗?你的意思是一个暴露的端点进行多次呼叫吗?

你有没有1个API动作只创建多个任务(将并行运行),等待它们全部完成然后返回所有响应数据(根据需要组合或分开)?