There are a number of ready-to-use solutions to lock asp.net/mvc cache for long running calls to backend systems (such as DB or WCF service) to avoid subsequent requests by other users, e.g. What is the best way to lock cache in asp.net?
Could you recommend any solution when a call to the backend system should be done as async call?
Is "locking an await call" feasible at all as some articles (e.g. Why can't I use the 'await' operator within the body of a lock statement?) conclude that "it is an incredibly bad idea"?