在 MVC 5 操作过滤器中进行异步调用

Making an async call in an MVC 5 action filter

问题

我有一个 api GET 方法来检索站点配置。我正在使用 httpClientGetAsync() 方法来执行此操作。

HttpResponseMessage response = await client.GetAsync("api/{0}/config", id);

由于我需要跨站点进行此配置,因此我计划为此使用全局操作过滤器。

问题

如何在 MVC 操作过滤器中调用异步方法?或者对于这个问题有更好的解决办法吗?

我已经查看了多个 SO 问题 (Async action filter in MVC 4),但没有找到令人满意的解决方案。

无法(可靠地)从 ASP.NET MVC 5 操作过滤器调用异步方法。这已经在 ASP.NET vNext 中修复,但据我所知,没有计划在 MVC 5 中支持它。

如果您绝对必须在操作过滤器中执行此操作,则必须使用同步调用(例如,WebClient 而不是 HttpClient)。