title: How to wait for all task includes task.factory
body: <pre><code>private async Task StartRequesting()
  {
     for (int i = 0; i &lt; 50; i++)
     {
        await Task.Factory.StartNew(async () =&gt;
        {
            string Result =  await GetAsync("www.google.com");
            Console.WriteLine(Result);
       });
     }
  }
  
  Console.WriteLine("Starting Request");
  
  await StartRequesting();
  
  Console.WriteLine("Requesting has been finished");
  
  </code></pre>
  
  <p>How can I now wait that all the Task has been finished?
  I tryed Task.WhenAll but the Result is then like that</p>
  
  <pre><code>Starting Request
  (google result)
  (google result)
  (google result)
  Requesting has been finished
  (google result)
  (google result) 
  </code></pre>
  
  <p><strong>Note</strong>: I dont want use it without <code>Task.Factory.StartNew</code> because it takes then too long to done all the request.</p>