title: How to cancel many Async Tasks immediately when I use HttpClient？
body: <p>I have a class like below. </p>
  
  <pre><code>class Service
  {
      private HttpClient client;
      public Service()
      {
          client = new HttpClient();
          client.BaseAddress = new Uri("a uriString");  //"a uriString" refers to a real uri string.
          client.DefaultRequestHeaders.Add("Connection", "keep-alive");
          client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
      }
      public async Task&lt;Result&gt; DoSomeWork()
      {
          var post = new List&lt;KeyValuePair&lt;string, string&gt;&gt;();
          post.Add(new KeyValuePair&lt;string, string&gt;("key", "value")); //"key" "value" refers to real 
          var content = new FormUrlEncodedContent(post);
          try
          {
              var response = await client.PostAsync("requestUri", content);
              response.EnsureSuccessStatusCode();
              return await response.Content.ReadAsAsync&lt;Result&gt;();
          }
          catch (HttpRequestException e)
          {
              return null;
          }
      }
  }
  </code></pre>
  
  <p>In another UI class, </p>
  
  <pre><code>Service service = new Service();
  </code></pre>
  
  <p>it also contains a timer which interval is 1 second. In its Tick Handler method, some code like this:</p>
  
  <pre><code>async void testTimer_Tick(object sender, EventArgs e)
  {
      await service.DoSomeWork();
  }
  </code></pre>
  
  <p>In this program, I want to post data to a website every second. I find that many requests are pending. If 10 minutes passed, I want to start another Task immediately. How can I cancel some Tasks before?
  If I use <code>CancellationTokenSource</code> class，I find it also can't cancel so many tasks immediately. Is there a method like <code>Thread.Abort()</code> to abort a thread? Or how can I complete this program in another way? Thank you.</p>