title: Way to creating async wrapper
body: <p><strong>How better to create async wrapper for synchronous method?</strong></p>
  
  <pre><code>// sync method
  public void LongOperation()
  {
      //code...
  }
  
  
  // versions of wrapper
  public async Task LongOpertionWrapperAsyncV1()
  {
      var task = Task.Factory.StartNew(LongOperation);
      await task.ConfigureAwait(false);
  }
  
  public Task LongOpertionWrapperAsyncV2()
  {
      var task = Task.Factory.StartNew(LongOperation);
      task.ConfigureAwait(false);
      return task;
  }
  </code></pre>
  
  <p>Although the use of both versions don't differ.</p>
  
  <pre><code>async Task Executor()
  {
      await LongOpertionWrapperAsyncV1();
      await LongOpertionWrapperAsyncV2();
  }
  </code></pre>
  
  <p>For methods that return value (Task&lt;T&gt;), I use the first version.</p>
  
  <p>But I would like to know your opinion.</p>
  
  <p><strong>And there is a general difference between these versions?</strong></p>