【问题标题】:Is there an alternative to batching requests (MapHttpBatchRoute) in ASP.NET Core WebAPI?ASP.NET Core WebAPI 中的批处理请求 (MapHttpBatchRoute) 是否有替代方法?
【发布时间】:2020-06-21 01:21:38
【问题描述】:

我正在将 ASP.NET WebAPI 应用程序迁移到 ASP.NET Core。在这个应用程序中,我使用了批处理路由(如此处所述:https://devblogs.microsoft.com/aspnet/introducing-batch-support-in-web-api-and-web-api-odata/)。它非常优雅——我需要做的就是使用config.Routes.MapHttpBatchRoute 映射一个批处理路由,然后只批处理我想从客户端发出的任何 API 请求。但是,我在 ASP.NET Core 中没有找到替代方案。它是否存在,还是我需要自己编写批处理 API 来执行我需要做的事情?

【问题讨论】:

    标签: asp.net-core asp.net-core-webapi


    【解决方案1】:

    我已经成功使用了这个库:https://github.com/Tornhoof/HttpBatchHandler

    它适用于 .Net Core 3.0 及更高版本。文档不是最好的。

    【讨论】:

    • 太棒了!谢谢。你有一个如何使用它的例子吗?正如你所说,文档不是很令人印象深刻......
    • 我几乎让它工作了 - 但是,User.Identity 似乎没有从父 HttpContext 流向批处理中的每个单独请求。因此,所有子请求都无法访问 API。我可能会为此创建自己的聚合器 API……因为这个 nuget 似乎不是非常积极维护的东西,因此它本身会带来一些风险。
    • 你能使用这个 GitHub 问题中描述的状态对象吗:github.com/Tornhoof/HttpBatchHandler/issues/14
    • 谢谢!我会将您的答案标记为答案,因为它可能是目前最接近的答案。不过,我确实为此创建了专用的批处理 API……感觉不那么老套了——我猜 ASP.NET Core 没有实现这个功能是有原因的……也许吧。无论如何,谢谢!希望这对其他人也有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多