判断cancellationToken是否已取消

This commit is contained in:
陈国伟 2021-08-31 08:59:34 +08:00
parent 762b6b01da
commit 0440790a5f
2 changed files with 10 additions and 1 deletions

View File

@ -74,6 +74,8 @@ namespace FastGithub.DomainResolve
/// </summary>
/// <param name="domain"></param>
/// <param name="cancellationToken"></param>
/// <exception cref="OperationCanceledException"></exception>
/// <exception cref="FastGithubException"></exception>
/// <returns></returns>
public async Task<IPAddress> ResolveAsync(DnsEndPoint domain, CancellationToken cancellationToken = default)
{
@ -103,6 +105,7 @@ namespace FastGithub.DomainResolve
/// </summary>
/// <param name="domain"></param>
/// <param name="cancellationToken"></param>
/// <exception cref="OperationCanceledException"></exception>
/// <returns></returns>
private async Task<IPAddress?> ResolveCoreAsync(DnsEndPoint domain, CancellationToken cancellationToken)
{
@ -143,6 +146,7 @@ namespace FastGithub.DomainResolve
/// </summary>
/// <param name="domain"></param>
/// <param name="cancellationToken"></param>
/// <exception cref="OperationCanceledException"></exception>
/// <returns></returns>
private async Task<IPAddress?> LookupByFallbackAsync(DnsEndPoint domain, CancellationToken cancellationToken)
{
@ -163,6 +167,7 @@ namespace FastGithub.DomainResolve
/// <param name="dns"></param>
/// <param name="domain"></param>
/// <param name="cancellationToken"></param>
/// <exception cref="OperationCanceledException"></exception>
/// <returns></returns>
private async Task<IPAddress?> LookupAsync(IPEndPoint dns, DnsEndPoint domain, CancellationToken cancellationToken)
{
@ -184,6 +189,7 @@ namespace FastGithub.DomainResolve
}
catch (Exception ex)
{
cancellationToken.ThrowIfCancellationRequested();
this.logger.LogWarning($"dns({dns})无法解析{domain.Host}{ex.Message}");
return default;
}
@ -195,6 +201,7 @@ namespace FastGithub.DomainResolve
/// <param name="addresses"></param>
/// <param name="port"></param>
/// <param name="cancellationToken"></param>
/// <exception cref="OperationCanceledException"></exception>
/// <returns></returns>
private async Task<IPAddress?> FindFastValueAsync(IEnumerable<IPAddress> addresses, int port, CancellationToken cancellationToken)
{
@ -220,6 +227,7 @@ namespace FastGithub.DomainResolve
/// <param name="address"></param>
/// <param name="port"></param>
/// <param name="cancellationToken"></param>
/// <exception cref="OperationCanceledException"></exception>
/// <returns></returns>
private async Task<IPAddress?> IsAvailableAsync(IPAddress address, int port, CancellationToken cancellationToken)
{
@ -233,6 +241,7 @@ namespace FastGithub.DomainResolve
}
catch (OperationCanceledException)
{
cancellationToken.ThrowIfCancellationRequested();
this.SetDisabled(address);
return default;
}

View File

@ -64,7 +64,7 @@
<div class="os">linux本机</div>
<div class="caption">
<h4>x64系统</h4>
<p>执行<code>./FastGithub</code></p>
<p>执行<code>sudo ./FastGithub</code></p>
<p>手工添加127.0.0.1做为/etc/resolv.conf的第一条记录</p>
<p>手工安装CACert/FastGithub.cer到受信任的根证书颁发机构</p>
</div>