tôi cần phải gọi một phương thức trả về một Task
từ bên trongNgăn chặn một bế tắc khi gọi một phương pháp async mà không sử dụng chờ đợi
public override void OnActionExecuting(ActionExecutingContext filterContext)
Nó sẽ không cho phép tôi thực hiện phương pháp này async nó ném sau
Một mô-đun hoặc bộ xử lý không đồng bộ được hoàn tất trong khi thao tác không đồng bộ vẫn đang chờ xử lý.
và khi gọi
entityStorage.GetCurrentUser().Result
tôi nhận được một bế tắc. Làm thế nào tôi có thể tránh điều này?
Tôi đã được chơi đùa với nó đến với những thứ như
entityStorage.GetCurrentUser().Result.ConfigureAwait(false).GetAwaiter().GetResult();
Nhưng điều này không hoạt động. Tôi làm nó như thế nào? Giải pháp của tôi sẽ cần phải làm việc với ASP.NET 4 và Async Targetting Pack, tôi không thể sử dụng ASP.NET 4.5 như đang triển khai Azure.
Tìm thấy câu trả lời ở đây http://stackoverflow.com/a/5097066/168012 nếu có ai có giải pháp tốt hơn, vui lòng chia sẻ – Tom
Bạn có xuất phát từ 'AsyncController' thay vì 'Controller' không? –
Vui lòng [bầu chọn tại đây] (https://aspnet.codeplex.com/workitem/9582) để nhóm MVC thêm hỗ trợ cho bộ lọc hành động 'async'. –