title: Create two task in C# .net and close one of them after specific period of time
body: <p>I have a method which sometimes takes more than a minute to execute. I want to create a task to monitor the time it takes to execute this method. If the method executes with-in 2 minute, I should return output of the first task else I should throw an exception. I am using .net framework 4.0 with C# as the language.</p>
  
  <p>I cannot use <a href="http://msdn.microsoft.com/en-us/data/gg577609.aspx" rel="nofollow">Microsoft Reactive Extensions</a> in this case, as it frees the main thread. 
  I do not want to release the main thread until following happens</p>
  
  <ol>
  <li>Timeout</li>
  <li>Data is returned</li>
  <li>Any other exception occurs</li>
  </ol>
  
  <p>Please provide your suggestions.</p>