首页 > 解决方案 > 从异步方法调用非异步方法,同时保持高可用性

问题描述

我正在开发带有控制器的ASP.NET CoreWeb 应用程序。async我在一个ASP.NET Core项目中引用和调用方法,该项目不使用async执行 IO 绑定工作的异步编程(否)。

理想的解决方案是重构引用的项目以使用异步编程。但是,我面临着严重的时间限制。

Microsoft 文档建议不要创建Task.Run用于执行 IO 绑定工作的任务。它还建议不要立即等待来自Task.Run.

我的问题是 - 在这种情况下是否还有其他选择,我可以在不重构和不创建线程的情况下调用非异步方法,同时保持高可用性?

标签: c#asp.net-coreasp.net-web-api

解决方案


在这种情况下是否还有其他选择,我可以在不重构和不创建线程的情况下调用非异步方法,同时保持高可用性?

您的选择是:

  1. 直接给他们打电话。由于方法是同步的,您将阻塞 I/O 工作上的线程。
  2. 使方法异步。

推荐阅读