| 12345678910111213141516171819202122 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading;
 
- using System.Threading.Tasks;
 
- namespace Ips.Library.Basic
 
- {
 
-     public static class CancellationTokenExtensions
 
-     {
 
-         public static CancellationToken LinkTimeout(this CancellationToken token, int timeout)
 
-         {
 
-             if (timeout <= 0) return token;
 
-             var cts = new CancellationTokenSource();
 
-             cts.CancelAfter(timeout * 1000);
 
-             var timeoutToken = cts.Token;
 
-             var linkedCts = CancellationTokenSource.CreateLinkedTokenSource(timeoutToken, token);
 
-             return linkedCts.Token;
 
-         }
 
-     }
 
- }
 
 
  |