title: Strongly Typed RedirectToAction (Futures) using async Controllers
body: <p>having this code it gives me a warning : <code>Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call.</code></p>
  
  <pre><code>    public async Task&lt;ActionResult&gt; Details(Guid id)
      {
          var calendarEvent = await service.FindByIdAsync(id);
          if (calendarEvent == null) return RedirectToAction&lt;CalendarController&gt;(c =&gt; c.Index());
          var model = new CalendarEventPresentation(calendarEvent);
          ViewData.Model = model;
          return View();
      }
  
      public async Task&lt;RedirectResult&gt; Create(CalendarEventBindingModel binding)
      {
          var model = service.Create(binding);
          await context.SaveChangesAsync();
          return this.RedirectToAction&lt;CalendarController&gt;(c =&gt; c.Details(model.CalendarEventID));
      }
  </code></pre>
  
  <p>if I do add the <code>await</code> operator I get :</p>
  
  <p><code>Error  CS4034  The 'await' operator can only be used within an async lambda expression. Consider marking this lambda expression with the 'async' modifier.</code></p>
  
  <p>if I add the <code>async</code> modifier like this :</p>
  
  <pre><code>return this.RedirectToAction&lt;CalendarController&gt;(async c =&gt; await c.Details(model.CalendarEventID));
  </code></pre>
  
  <p>the error is <code>Error CS1989  Async lambda expressions cannot be converted to expression trees</code></p>
  
  <p>So how can I use strongly typed RedirectToAction (I'm using MVC Futures) with async controllers?</p>