问题
我有一个api GET方法来检索网站配置。我使用httpClient
和GetAsync()
方法来执行此操作。
HttpResponseMessage response = await client.GetAsync("api/{0}/config", id);
由于我需要在整个网站上进行此配置,因此我计划对此使用全局操作过滤器。
问题
如何在MVC动作过滤器中调用异步方法?或者这个问题有更好的解决方案吗?
我已经查看了多个SO问题(Async action filter in MVC 4),但我没有找到满意的解决方案。
答案 0 :(得分:15)
无法(可靠地)从ASP.NET MVC 5操作过滤器调用异步方法。这已在ASP.NET vNext中修复,但AFAIK没有计划在MVC 5中支持此功能。
如果您绝对必须在操作过滤器中执行此操作,则必须使用同步调用(例如,WebClient
而不是HttpClient
)。