title: ASP.net and making a method async
body: <p>I am attempting to make an ASP.net method that performs a Lucene search asynchronous.  Lucene.NET does not have any built in async/await implementation (that I could find) so I thought maybe I would look into how to enhance my normal synchronous method and make it asynchronous.</p>
  
  <pre><code>public ActionResult Search(string queryText, int page = 1, int size = 10)
  {
      List&lt;object&gt; matches = new List&lt;object&gt;();
      // a bunch of IO based Lucene stuff here
      // DON'T USE Task.Run()... it is bad in ASP.net
      return Json(matches, JsonRequestBehavior.AllowGet);
  }
  </code></pre>
  
  <p>What is the best strategy for doing this in an ASP.net world?</p>
  
  <p>Any tips would be greatly appreciated :)</p>